Bug 1484086 - SQLite must be downgraded to 3.19
Summary: SQLite must be downgraded to 3.19
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: sqlite
Version: 26
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Petr Kubat
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-08-22 16:15 UTC by Michael Catanzaro
Modified: 2017-08-28 11:13 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-08-28 11:13:01 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Michael Catanzaro 2017-08-22 16:15:53 UTC
Description of problem: The upgrade to sqlite-3.20.0-1.fc26 broke search GtkFileChooser. Please downgrade to sqlite 3.19 in Fedora 26 immediately. For details of the cause of this bug see [1] and [2] and [3].


Version-Release number of selected component (if applicable): sqlite-3.20.0-1.fc26


How reproducible: Always


Steps to Reproduce:
1. Search for a sufficiently-long string of text in a GtkFileChooser

Actual results: A dialog appears containing this error message:

Could not send the search request

GDBus.Error:org.freedesktop.Tracker1.SparqlError.Internal: no such tokenizer: TrackerTokenizer


Expected results: The search should work


Additional info: This is the second time in the recent past that an SQLite update has broken desktop search due to an fts5 API change. Since this is a repeat issue, my alarm bells are going off, so to speak. Remember that Fedora does not permit stable release updates if they include API changes. [4] Please do not upgrade SQLite in stable releases of Fedora unless you are confident the upgrade does not introduce any API changes, and in particular watch out for fts5 changes. Security fixes will need to be backported to older releases instead.

[1] https://mail.gnome.org/archives/distributor-list/2017-August/msg00004.html
[2] https://bugzilla.gnome.org/show_bug.cgi?id=785883
[3] https://blogs.gnome.org/carlosg/2017/08/22/tracker-requires-sqlite-3-20-to-be-compiled-with-enable-fts5/
[4] https://fedoraproject.org/wiki/Updates_Policy

Comment 1 Michael Catanzaro 2017-08-22 20:53:52 UTC
Last year's equivalent bug was bug #1312506

Comment 2 Petr Kubat 2017-08-24 06:42:27 UTC
Thanks for the report.

I do not think a downgrade to the previous version is necessary here. This should already be fixed for the latest versions of tracker by building sqlite with fts5 by default.

I have yet to take a look at f25 if the back-ported security issue fix broke tracker as well and will drop it in case it did.

Comment 3 Bastien Nocera 2017-08-24 11:18:29 UTC
How is it OK to update to incompatible versions of sqlite in a stable version, and expect others to mop up the bugs after it?

https://sqlite.org/changes.html says, for 3.20:
"Backwards-incompatible changes to some extensions in order to take advantage of the improved security offered by the new pointer passing interfaces:"

That should have been enough information to know that this update wasn't suitable for a stable release.

Comment 4 Paul W. Frields 2017-08-24 15:10:34 UTC
I agree that this breakage should be avoidable.  On a hopeful note, it's likely that CI efforts in Fedora will allow interested folks to provide integration tests to successfully gate updates like this in the future.  Someone would have to write those tests, of course, but just having the possibility is a big step in the right direction.  Since the corpus of tests would be iterative, though, maintainers still need to be vigilant about not introducing clearly backward incompatible bits.

Comment 5 Michael Catanzaro 2017-08-25 01:47:50 UTC
(In reply to Petr Kubat from comment #2)
> I do not think a downgrade to the previous version is necessary here. This
> should already be fixed for the latest versions of tracker by building
> sqlite with fts5 by default.

That seems fine. We're primarily concerned with avoiding this situation in the future, since it's a high-impact bug that has occurred twice now. Can you confirm that you'll be more careful with checking for incompatible changes in future sqlite updates, particularly fts5 changes? If so, I think that's all we need here.

Comment 6 Petr Kubat 2017-08-28 06:52:36 UTC
>How is it OK to update to incompatible versions of sqlite in a stable version, and expect others to mop up the bugs after it?

I am not saying it is OK to do this and it is obviously a failure on my part to check the ABI/API compatibility properly (and I am sorry for that). However downgrading sqlite might introduce new issues for packages that already rebuilt against the newest release, which is the main reason I think we should just stay with 3.20 now that it already got to stable...

>Can you confirm that you'll be more careful with checking for incompatible changes in future sqlite updates, particularly fts5 changes?

Yes, definitely!

Comment 7 Michael Catanzaro 2017-08-28 11:13:01 UTC
(In reply to Petr Kubat from comment #6)
> >Can you confirm that you'll be more careful with checking for incompatible changes in future sqlite updates, particularly fts5 changes?
> 
> Yes, definitely!

OK, great!

This update has gone to stable, so with that, I think we're done here.


Note You need to log in before you can comment on or make changes to this bug.