← Back to team overview

debcrafters-packages team mailing list archive

[Bug 2087772] Re: crash (segfault) in libsqlite3 running multi-join query

 

I believe I am also running into this bug when running SQLAlchemy unit
tests that use this library. I have tested libsqlite3-0_3.45.1, 3.45.2
which both have this problem but 3.45.3 appears to have the fix.

-- 
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:
  Confirmed

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