Re: [Tracker] Avoid SQLite versions 3.7.10 - 3.7.13



On 18/10/12 18:22, Sam Thursfield wrote:
Hi!

Hello Sam,

A while back someone came on IRC saying they got a segfault when they
executed the following query:

tracker-sparql -q "SELECT rdf:type (?album)
                             ?album
                             tracker:id(?album) AS id
                             ?title
                             ?author
                             SUM(?length) AS duration
                             tracker:coalesce
(fn:year-from-dateTime(?date), 'Unknown')
                      WHERE {
                             ?album a nmm:MusicAlbum ;
                                    nie:title ?title;
                                    nmm:albumArtist [ nmm:artistName ?author ] .
                             ?song nmm:musicAlbum ?album ;
                                   nfo:duration ?length
                             OPTIONAL { ?song nie:informationElementDate ?date }
                      }
                      GROUP BY ?album
                      ORDER BY ?author ?title"

I traced it back to a then-unidentified bug in SQLite and then didn't
have time to take it further. There have been a couple of SQLite
releases since then and it turns out that 3.7.14 no longer has the
bug. The previous version that I tested which did not have the
segfault was 3.7.9.

So, formally: please do not use SQLite versions 3.7.10, 3.7.11, 3.7.12
or 3.7.13 with Tracker because you may trigger a bug in SQLite leading
to a crash in either the process running the query or the
tracker-store.

The release notes for SQLite 3.7.14 don't mention fixing of any kind
of segfault, incidentally, but from testing it's clear that the crash
is gone with that version.

Thank you for researching this and providing a summary here!

I think we should have some check in configure.ac for this and packagers should also have some check ideally.

Care you do the honours?

--
Regards,
Martyn

Founder and CEO of Lanedo GmbH.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]