sqlite version mismatch causes problems in Evolution backend

Bug #153051 reported by Joe Shaw
8
Affects Status Importance Assigned to Milestone
beagle (Ubuntu)
Fix Released
Undecided
Unassigned
Gutsy
Won't Fix
Undecided
Unassigned

Bug Description

Binary package hint: beagle

I'm the upstream maintainer of Beagle, and we've found a nasty bug related to Ubuntu's compiling of Beagle against sqlite 3 when previous versions were built against sqlite 2.

The problem essentially is that the Mono sqlite bindings don't gracefully handle using a sqlite 2 database with sqlite 3. While opening of the database connection succeeds (something that doesn't work when a v3 db is opened with v2, and a case we check for), an error is encountered when trying to actually run a SQL statement on the database. Unfortunately this will happen for every Evolution IMAP email that is attempted to be indexed by Beagle.

Unfortunately our two downstream Ubuntu maintainers (Kevin Kubasik and Nirbheek) are without internet connections at present. If someone else can apply the patch I'm attaching to the Gutsy package, that would be greatly appreciated. It has already gone upstream to both our stable 0.2.x branch and the trunk (r4053 and r4054 in GNOME SVN, respectively).

Related branches

Revision history for this message
Joe Shaw (joeshaw) wrote :
Revision history for this message
Kevin Kubasik (kkubasik) wrote :

I have a bzr branch with this fix (and a few others) available. Associating with bug report.

Revision history for this message
Kevin Kubasik (kkubasik) wrote :

Uploaded a build to my PPA, (at http://ppa.launchpad.net/kkubasik/ubuntu)

Revision history for this message
Kevin Kubasik (kkubasik) wrote :

Ok, heres a debdiff of all changes, I'll post a list of each bug and the corresponding change this implies.

Revision history for this message
Kevin Kubasik (kkubasik) wrote :

Heres a diffstat on the patch.

Revision history for this message
Kevin Kubasik (kkubasik) wrote :

Ok, a complete list of changes in the said patch

r3921:
- Beagleclient API was changed earlier but corresponding libbeagle C
api was not changed. This patch adds the change. Without this patch
any app using libbeagle to send data to IndexingService backend will
not be able to do so, there would be lots of bogus error messages
instead of the correct error message
- Fix for http://bugzilla.gnome.org/show_bug.cgi?id=417880 (libbeagle
does not find beagle directory for nfs mounted home dir).
Kerry/deskbar would not work when home directory is on nfs.
- Make libbeagle work for non-english locale users. Use the correct
decimal separator instead of ".".

r3925:
- Fix for http://bugzilla.gnome.org/show_bug.cgi?id=393456 (incorrect
checking of prefixes while adding additional subdirectories in
beagle-settings). Without this, users would not be able to add
/tmp/abc and /tmp/abcde as subdirectories to index in beagle-settings.
Also fixes launchpad #115370.

r3929:
- Fix a file descriptor leak in word filter. Patch correctly closes
the file descriptor.

r3931:
- Make "index on battery" configuration option default to false.

r3935:
- Update japanese translation (not sure if this is critical, I have left it in for the moment, since if we do push an update it has no risk of regression, however it is easily removed)

r3981:
- Fix a xdgmimecache.c bug which calls into public code, causes a
refresh of the in-memory cache, and accesses the just-freed memory.
Part of novell bug #326808 and bugs.freedesktop.org #12512. This fix
was subsequently accepted upstream in xdgmime (but xdgmime is source
included in beagle, which means we need the patched copy). This bug
could cause trouble during building static indexes.

r4033:
- Fix some spec-compliance issues with the .desktop files. Fix for
http://bugzilla.gnome.org/show_bug.cgi?id=481726

r4053:
- When user switches from sqlite-2 to sqlite-3, the evolutionmail
backend will produce endless error messages because of the
incompatibility between sqlite. Fix for
https://bugs.launchpad.net/ubuntu/+source/beagle/+bug/153051

r4056:
- Sometimes beagle might crash at shutdown. Catches that exceptional case.

r4057 (this was already added to Gutsy)

r4060:
- If evolution mail folders have ":" in their name, the evolution mail
backend will create an incorrect sqlite connection string, leading to
failure. Fixes this problem.

Revision history for this message
Daniel Holbach (dholbach) wrote :

Sorry, bug spam necessary because of bug 176085.

This bug has a patch attached, which needs review and sponsoring.

Revision history for this message
Martin Pitt (pitti) wrote :

http://launchpadlibrarian.net/10031654/beagle-summary-tracker-sqlite-upgrade.patch accepted for gutsy-proposed. Please prepare a package with a proper changelog and upload. Please get this fixed in hardy first, though (SRU policy).

Changed in beagle:
status: New → Confirmed
Revision history for this message
dBera (dbera-web) wrote :

The problem is fixed in the hardy version.

Revision history for this message
Sebastian Dröge (slomo) wrote :

Ok, so what's the state of this bug? What needs to be done?

Revision history for this message
Martin Pitt (pitti) wrote :

Marking as fixed in hardy as per comment 9. Please someone else verify this and reopen if it's still an issue in Hardy.

Sebastian, someone needs to verify and apply the attached patch and own responsibility for the gutsy SRU.

Changed in beagle:
status: New → Fix Released
Revision history for this message
Daniel Holbach (dholbach) wrote :

Did it go into gutsy-proposed already?

Revision history for this message
Martin Pitt (pitti) wrote :

No, it's not in -proposed yet.

Revision history for this message
Daniel Holbach (dholbach) wrote :

Can somebody do so?

Revision history for this message
Sergio Zanchetta (primes2h) wrote :

The 18 month support period for Gutsy Gibbon 7.10 has reached its end of life -
http://www.ubuntu.com/news/ubuntu-7.10-eol . As a result, we are closing the
Gutsy task.

Changed in beagle (Ubuntu Gutsy):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.