[odb-users] odb::timeout on sqlite

Boris Kolpackov boris at codesynthesis.com
Tue May 24 19:54:56 EDT 2016

Hi Steve,

Hales, Steve <Steve.Hales at garmin.com> writes:

> My team is developing an iOS app using ODB 2.4.0 on a sqlite3 database.
> Our app has a number of background processes that access the database
> from multiple threads.

By "processes" you don't mean actual operating system processes, correct?
In other words, you have a single application (process) that runs multiple

> Occasionally, our app receives an odb::timeout exception. I looked in
> the ODB code and found that this exception might be thrown as a result
> of a SQLITE_LOCKED or SQLITE_BUSY error. It is my limited understanding
> that this may be caused by multithreaded access to the database. Can
> you provide any guidance on how to debug this problem?

Quoting the "Requirements" sections from libodb-sqlite's INSTALL file:

"If you plan to access an SQLite database from multiple threads, then
you will need SQLite version 3.5.0 or later built with the unlock notify

My guess would be the stock iOS SQLite is built without this feature.
Normally, in this sutuation, one would use a custom build of SQLite.
This earlier post has more details:



More information about the odb-users mailing list