Bug 177422 - beagle shouldn't use sqlite2
Summary: beagle shouldn't use sqlite2
Alias: None
Product: Fedora
Classification: Fedora
Component: beagle
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Christopher Aillon
QA Contact:
Depends On: 166319
Blocks: FC5Blocker
TreeView+ depends on / blocked
Reported: 2006-01-10 16:18 UTC by Jeremy Katz
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2006-02-01 04:37:26 UTC
Type: ---

Attachments (Terms of Use)

Description Jeremy Katz 2006-01-10 16:18:09 UTC
beagle should just be using the main sqlite package instead of the old and
obsolete sqlite2 version.  Otherwise, we're back to the old berkeley db 1.85 ->
db3 debacle

The explanation at
just makes me feel even more queasy -- things are just as likely to hit problems
with those sorts of threaded accesses in sqlite2; it just doesn't keep you from
shooting yourself in the foot like sqlite3 does.

Comment 1 Jeremy Katz 2006-01-21 03:44:09 UTC
Also, http://www.sqlite.org/cvstrac/wiki?p=MultiThreading makes it seem like
things should be safe as long as you're careful.

Comment 2 Bojan Smojver 2006-01-22 22:31:44 UTC
See bug #166319 about thread safety for sqlite package (i.e. sqlite3). This is
currently not enabled, but it should be.

As far as I can see, sqlite2 package also isn't built to be thread safe.

Comment 3 Bojan Smojver 2006-01-22 23:04:01 UTC
In relation to comment #1, it seems that the situation that beagle is hitting
(different threads using the same connection structure) is only solved in the
3.3.1 alpha version of SQLite, and not yet in the stable version 3.2.8.

Does anyone here if know if the supposed bugs in Red Hat Linux 9 the page keeps
harping about are still in recent Fedoras? I certainly hope not. If
threadsOverrideEachOthersLocks variable in os_unix.c is related, then it would
seem that this is not a problem any more, because in Rawhide it gets set to 1.

Maybe the real solution here is to bite the bullet and go 3.3.1?

Comment 4 Alexander Larsson 2006-01-23 09:20:45 UTC
bojan: there is no --enable-threadsafe in sqlite2 configure.

Comment 5 Bojan Smojver 2006-01-23 09:26:03 UTC
I know. I think you need to do -DTHREADSAFE=1 or some such.

Comment 6 Alexander Larsson 2006-01-24 08:21:46 UTC
I'm building the sqlite2 package with THREADSAFE defined now.

Comment 7 Andy Burns 2006-01-31 16:52:36 UTC
Beagle 0.2.1 released today, from the announcement

Reenable Sqlite 3 support, but only if you have 3.3.1 or newer.  (Joe)"

I'm presuming 0.2.1 will get sucked into rawhide for FC5T3?

Comment 8 Bojan Smojver 2006-01-31 18:59:02 UTC
Stable version 3.3.3 is out now. So, beagle can link itself to that, once it
gets delivered to Rawhide.

Comment 9 Christopher Aillon 2006-02-01 04:37:26 UTC
in rawhide

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