This appears to be a bug (or at least an undocumented limitation) in the [dlopen()][3] routine of the standard C library, not a bug in SQLite. The problem arises when dlopen() is invoked with a filename that is very long. [Check-in 01f3877c7172d522][1] works around this problem by simply not calling dlopen() if the filename exceeds FILENAME_MAX characters. [3]: https://linux.die.net/man/3/dlopen [1]: src:/timeline?c=01f3877c7172d522 Note also that the [load_extension() SQL function][2] is disabled by default. So most applications are unable to trigger this bug in dlopen() even if it exists. The CLI is a rare exception to this rule in that it does take the extra steps needed to activate the load_extension() SQL function. Because load_extension() is disabled by default, it seems dubious to call this problem "critical". [2]: https://www.sqlite.org/lang_corefunc.html#load_extension