www/firefox3 crash related to use of libc's db functions

Jos Backus jos at catnook.com
Fri Oct 10 16:26:22 UTC 2008


I'm seeing the following crash on -current:

#0  0x2a31656b in thr_kill () at thr_kill.S:2
#1  0x2a2c5736 in pthread_kill () from /lib/libthr.so.3
#2  0x2a2c32c3 in raise () from /lib/libthr.so.3
#3  0x28237381 in XRE_InitEmbedding () from /usr/local/lib/firefox3/libxul.so
#4  <signal handler called>
#5  hash4 (keyarg=0xa8f497a, len=4294956678) at /usr/src/lib/libc/db/hash/hash_func.c:184
#6  0x2a39ab3d in __call_hash (hashp=0x8386800, k=0xa8f497a "S", len=-10618) at /usr/src/lib/libc/db/hash/hash.c:896
#7  0x2a3997fa in __split_page (hashp=0x8386800, obucket=7, nbucket=15) at /usr/src/lib/libc/db/hash/hash_page.c:356
#8  0x2a39ac09 in __expand_table (hashp=0x8386800) at /usr/src/lib/libc/db/hash/hash.c:865
#9  0x2a39922f in __addel (hashp=0x8386800, bufp=0x9d83ca0, key=0xbfbf8ac8, val=0xbfbf8ad0) at /usr/src/lib/libc/db/hash/hash_page.c:454
#10 0x2a39c2e0 in hash_access (hashp=0x8386800, action=HASH_PUT, key=0xbfbf8ac8, val=0xbfbf8ad0) at /usr/src/lib/libc/db/hash/hash.c:680
#11 0x2aa10b9c in ?? () from /usr/local/lib/firefox3/libnssdbm3.so
#12 0xbfbf8ad0 in ?? ()
#13 0xbfbf8ac8 in ?? ()
#14 0xbfbf8ad0 in ?? ()
#15 0x00000000 in ?? ()
#16 0x2a2c3599 in pthread_self () from /lib/libthr.so.3
#17 0x2aa203e4 in legacy_SetCryptFunctions () from /usr/local/lib/firefox3/libnssdbm3.so
#18 0x2aa20bb8 in legacy_SetCryptFunctions () from /usr/local/lib/firefox3/libnssdbm3.so
#19 0x2aa216ff in legacy_SetCryptFunctions () from /usr/local/lib/firefox3/libnssdbm3.so
#20 0x2aa258b2 in legacy_SetCryptFunctions () from /usr/local/lib/firefox3/libnssdbm3.so
#21 0x2aa276c9 in legacy_SetCryptFunctions () from /usr/local/lib/firefox3/libnssdbm3.so
#22 0x2aa27791 in legacy_SetCryptFunctions () from /usr/local/lib/firefox3/libnssdbm3.so
#23 0x2aa18965 in ?? () from /usr/local/lib/firefox3/libnssdbm3.so

This suggests that firefox3 is using the non-threadsafe db functions in libc.

Is it possible to build firefox3 without them, or replace them with a newer
version of Berkeley DB that is threadsafe?

-- 
Jos Backus
jos at catnook.com


More information about the freebsd-ports mailing list