Hi guys,

in Fedora we got plenty of crash reports from users running strictly 32bit arch build of sqlite-3.8.4 or later [1]. The problem can be reproduced easily on 32bit, but is not seen on 64bit nor 32bit builds until sqlite-3.8.3, which seems to be important fact for me.

I found that this issue was introduced by commit dca1945aeb3fb005263f9be00ee8e72b966ae303 [2] and when applying the attached patch (which reverts part of the commit above), it works fine for me, so we'll use it as a temporary fix.

The problem we see in nautilus is that sqlite crashes during running the following select query (grabbed from GDB, so some values are missing and it is usable in sqlite console just like this):

SELECT DISTINCT
  (SELECT "nie:url"
   FROM "nie:DataObject"
   WHERE ID = "1_u") COLLATE TRACKER AS "2_u",
     CAST ("urn_u_rank" AS TEXT) AS "3_u",
       COALESCE(SparqlFormatTime (
         (SELECT "nfo:fileLastModified"
         FROM "nfo:FileDataObject"
         WHERE ID = "1_u")), SparqlFormatTime (
           (SELECT "nie:contentLastModified"
            FROM "nie:InformationElement"
            WHERE ID = "1_u"))) AS "4_u",
       COALESCE(SparqlFormatTime (
         (SELECT "nfo:fileLastAccessed"
          FROM "nfo:FileDataObject"
          WHERE ID = "1_u")), SparqlFormatTime (
            (SELECT "nie:contentAccessed"
             FROM "nie:InformationElement"
             WHERE ID = "1_u"))) AS "5_u"
FROM
  (SELECT "nfo:FileDataObject1"."ID" AS "1_u",
          1,
          "fts3"."docid" AS "ID",
tracker_rank(matchinfo("fts3"."fts", 'cl'),fts_column_weights()) AS "urn_u_rank"
   FROM "nfo:FileDataObject" AS "nfo:FileDataObject1",
        "nie:DataObject" AS "nie:DataObject2",
        "fts" AS "fts3"
   WHERE "nfo:FileDataObject1"."ID" = "nie:DataObject2"."ID"
     AND "nie:DataObject2"."ID" = "fts3"."docid"
     AND "nie:DataObject2"."tracker:available" = ?
     AND "fts3"."fts" MATCH '"status*"'
     AND (SparqlUriIsDescendant(? COLLATE TRACKER,
       (SELECT "nie:url"
        FROM "nie:DataObject"
        WHERE ID = "1_u") COLLATE TRACKER)
          AND (SparqlLowerCase (
            (SELECT "nfo:fileName"
             FROM "nfo:FileDataObject"
             WHERE ID = "1_u") COLLATE TRACKER) GLOB ?)))
ORDER BY "urn_u_rank" DESC

For full reproducer in 32bit Fedora 20, please, see the original bug report [1].

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1075889
[2] http://www.sqlite.org/src/vinfo/dca1945aeb3fb005263f9be00ee8e72b966ae303?sbs=0

Regards,
Honza
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to