Thanks Simon. I should mention I was testing the version of SQLAlchemy 2.0.38+ds1. It's possible it has a newer test that exercises the failing part of SQLite3. This testing is for a backport to the Ubuntu Cloud Archive for the latest version of OpenStack. I did some manual `git bisect` between SQLite3-3.45.2 and 3.45.3 and I believe the first "good" git commit is 74851f66811854c772a9b2d0a13f1e9e82b69c25. Before that commit running:
python -m pytest -q \ ~/sqlalchemy-2.0.38+ds1/test/orm/inheritance/test_assorted_poly.py::\ MultiOfTypeContainsEagerTest_joined::test_big_query \ --db default produces the segfault. This commit appears to contain the fix. For reference, the reason I'm doing this testing is to solve this build failure for SQLAlchemy backport: https://launchpad.net/~ubuntu-cloud- archive/+archive/ubuntu/flamingo-staging/+build/30923593 Also please let me know if what I'm describing should be a new bug report. It felt similar to the initial submission though I'm not positive it's the same segfault. -- You received this bug notification because you are a member of Debcrafters packages, which is subscribed to sqlite3 in Ubuntu. https://bugs.launchpad.net/bugs/2087772 Title: crash (segfault) in libsqlite3 running multi-join query Status in sqlite3 package in Ubuntu: Incomplete Bug description: Ubuntu version: Description: Ubuntu 24.04.1 LTS Release: 24.04 Package version: libsqlite3-0: Installed: 3.45.1-1ubuntu2 Candidate: 3.45.1-1ubuntu2 Version table: *** 3.45.1-1ubuntu2 500 500 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages 100 /var/lib/dpkg/status libsqlite3 segfaults on running a particular query (which has not caused a problem in previous releases of SQLite). It appears to be related to having multiple "JOIN" statements in the query since removing one of them does not show the problem but could equally be something else it doesn't like about this particular query. Steps to reproduce: 1. Create the database (using attached schema): sqlite3 audio.db < sql-audio280.txt 2. Run query as follows: sqlite3 audio.db "SELECT Song.SongTitle, Song.Duration, Song.CueStart, Song.CueEnd,Song.NormaliseRLeft, Song.NormaliseRRight, Song.FileDirectory, Song.FileName, Song.SongID,Artist.ArtistID, Artist.ArtistName, Genre.GenreID, Genre.Genre, Album.AlbumID, Album.AlbumTitle,Song.Year, Song.Notes, Song.Highlight, Song.Highlight2, Song.ReplayGain, Song.ReplayGainSet FROM(Album INNER JOIN(Artist INNER JOIN(Genre INNER JOIN Song ON Genre.GenreID = Song.GenreID) ON Artist.ArtistID = Song.ArtistID) ON Album.AlbumID = Song.AlbumID);" Result is consistently a segfault. Backtrace from gdb: Program received signal SIGSEGV, Segmentation fault. __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:76 warning: 76 ../sysdeps/x86_64/multiarch/strlen-avx2.S: No such file or directory (gdb) bt #0 __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:76 #1 0x00007f0bc38c26e4 in sqlite3DbStrDup () from /lib/x86_64-linux-gnu/libsqlite3.so.0 #2 0x00007f0bc38f2ef4 in ?? () from /lib/x86_64-linux-gnu/libsqlite3.so.0 #3 0x00007f0bc391c1be in sqlite3WalkSelect () from /lib/x86_64-linux-gnu/libsqlite3.so.0 #4 0x00007f0bc38f1e6d in ?? () from /lib/x86_64-linux-gnu/libsqlite3.so.0 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/sqlite3/+bug/2087772/+subscriptions -- Mailing list: https://launchpad.net/~debcrafters-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~debcrafters-packages More help : https://help.launchpad.net/ListHelp

