sqlite problems on Mac OS X 10.4
Matthias Andree
matthias.andree at gmx.de
Fri Sep 9 10:02:50 CEST 2005
Jim Correia <jim.correia at pobox.com> writes:
> Any idea about the hangs in t.lock3? (Should I just stick with bdb
> for now?)
Apparently it isn't hanging, but looping. t.lock3 can take minutes to
finish, particularly on slower drives (Powerbook perhaps?)
> When the tests hang it looks like all the processes have similar
> backtraces:
>
> #0 0x9001efe8 in select ()
> #1 0x00016284 in bf_sleep (delay=909804) at system.c:57
> #2 0x0000e07c in rand_sleep (min=1000, max=1000000) at rand_sleep.c:20
> #3 0x00015848 in busyhandler (dummy=0x4, count=0) at
> datastore_sqlite.c:245
The above is bogofilter code (callback stuff).
> #4 0x9436b188 in sqlite3pager_pagecount ()
> #5 0x9436be08 in sqlite3pager_begin ()
> #6 0x94352f50 in sqlite3BtreeBeginTrans ()
> #7 0x9437caf4 in sqlite3VdbeExec ()
> #8 0x9437f26c in sqlite3_step ()
> #9 0x94385a0c in sqlite3_exec ()
#4 - #9 are sqlite3 code.
#10 - #15 are bogofilter code again.
> I do see this in the SQLite bug tracker. I don't know if it is relevant.
>
> http://www.sqlite.org/cvstrac/tktview?tn=263,2
I don't think it is, if it were deadlocked, it wouldn't be calling back
rand_sleep. t.lock3 is however, as connotated above, sensitive to I/O
speed, I/O load, also to context switch overhead, other system load, and
can take several minutes to finish. I'm not sure how to best address this.
--
Matthias Andree
More information about the bogofilter-dev
mailing list