Date: Tue, 23 Mar 2004 12:14:41 +0100 From: Alexander Leidinger <Alexander@Leidinger.net> To: Doug White <dwhite@gumbysoft.com> Cc: "Russell D. Murphy Jr." <rdmurphy@vt.edu> Subject: Re: Mozilla crash and burn? Message-ID: <20040323121441.1e535e57@Magellan.Leidinger.net> In-Reply-To: <20040322180728.F5352@carver.gumbysoft.com> References: <16479.30826.56912.226587@knock.econ.vt.edu> <20040322180728.F5352@carver.gumbysoft.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 22 Mar 2004 18:07:54 -0800 (PST) Doug White <dwhite@gumbysoft.com> wrote: > On Mon, 22 Mar 2004, Russell D. Murphy Jr. wrote: > > > > > Mozilla has been non-functional since I updated my machine on Friday. > > > > FreeBSD knock.econ.vt.edu 5.2-CURRENT FreeBSD 5.2-CURRENT #0: > > Fri Mar 19 05:13:08 EST 2004 > > root@knock.econ.vt.edu:/usr/obj/usr/src/sys/KNOCK i386 > > > > I've rebuilt mozilla (portupgrade -fRr mozilla), gotten rid of all > > plugins and it still dies. > > > > The symptom is that it starts and opens up the initial window (a > > collection of bookmarks - a local file). If I click on one of the > > links, the title is displayed in the window frame, the URL is > > displayed in the address box, and mozilla claims to be "transferring > > data from ...". Then mozilla crashes. No window, no remaining > > process. > > Any output on the terminal you launched mozilla from? No. And trying to run mozilla within gdb ("mozilla -g"), doesn't work (gdb aborts). I can reproduce it with www.gnomedesktop.org and www.invdeo.org. I'm building a debug version of mozilla (--enable-debug, --enable-tests, --disable-strip) and I get abort traps while building mozilla (this is with mozilla-devel, but I've also seen the above mentioned behavior with 1.6, I reverted to 1.5 a while ago, but decided to give 1.7 a try after a resolver, expat and freetype recompile orgy): ---snip--- gmake[4]: Leaving directory `/big/usr/ports/www/mozilla-devel/work/mozilla/secur ity/nss/cmd/shlibsign/mangle' FreeBSD5.2_DBG.OBJ/shlibsign -v -i /big/usr/ports/www/mozilla-devel/work/mozilla /dist/lib/libsoftokn3.so Assertion failure: _PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex), at ptsynch.c:207 Abort trap (core dumped) gmake[3]: *** [/big/usr/ports/www/mozilla-devel/work/mozilla/dist/lib/libsoftokn 3.chk] Error 134 gmake[3]: Leaving directory `/big/usr/ports/www/mozilla-devel/work/mozilla/secur ity/nss/cmd/shlibsign' gmake[2]: *** [libs] Error 2 gmake[2]: Leaving directory `/big/usr/ports/www/mozilla-devel/work/mozilla/secur ity/manager' gmake[1]: *** [tier_40] Error 2 gmake[1]: Leaving directory `/big/usr/ports/www/mozilla-devel/work/mozilla' gmake: *** [default] Error 2 *** Error code 2 ---snip-- Running this application within gdb works as intented (no abort), but further in the build I get: ---snip--- gmake[1]: Leaving directory `/big/usr/ports/www/mozilla-devel/work/mozilla' /usr/bin/sed -e "s|%%PREFIX%%|/usr/X11R6|g" -e "s|%%MOZILLA%%|mozilla-devel|g" /big/usr/ports/www/mozilla-devel/files/mozilla.sh >/big/usr/ports/www/mozilla-de vel/work/mozilla/mozilla-devel (cd /big/usr/ports/www/mozilla-devel/work/mozilla/dist/bin; /usr/bin/env LD_LIB RARY_PATH=. MOZILLA_FIVE_HOME=. ./regxpcom; /usr/bin/env LD_LIBRARY_PATH=. MOZI LLA_FIVE_HOME=. ./regchrome; /usr/bin/touch ./chrome/user-skins.rdf ./chrome/us er-locales.rdf) Assertion failure: _PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex), at ptsynch.c:207 Abort trap (core dumped) *** Error code 134 # cd /big/usr/ports/www/mozilla-devel/work/mozilla/dist/bin; /usr/bin/env LD_LI BRARY_PATH=. MOZILLA_FIVE_HOME=. gdb ./regxpcom; /usr/bin/env LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. gdb ./regchrome; /usr/bin/touch ./chrome/user-skins.rdf ./ chrome/user-locales.rdf GNU gdb 5.2.1 (FreeBSD) Copyright 2002 Free Software Foundation, Inc. Starting program: /big/usr/ports/www/mozilla-devel/work/mozilla/xpcom/tools/regi stry/regxpcom Assertion failure: _PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex), at ptsynch.c:207 Program received signal SIGABRT, Aborted. 0x281d97e7 in kill () from /lib/libc.so.5 tarting program: /big/usr/ports/www/mozilla-devel/work/mozilla/rdf/chrome/tools/ chromereg/regchrome Assertion failure: _PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex), at ptsynch.c:207 Program received signal SIGABRT, Aborted. 0x2839f7e7 in kill () from /lib/libc.so.5 (gdb) bt #0 0x2839f7e7 in kill () from /lib/libc.so.5 #1 0x282822e2 in raise () from /usr/lib/libpthread.so.1 #2 0x283f4a37 in abort () from /lib/libc.so.5 #3 0x2825951b in PR_Assert () at prlog.c:530 #4 0x2826892f in PR_Unlock (lock=0x28272b80) at ptsynch.c:207 #5 0x282613f0 in PR_GetEnv (var=0x28272263 "NSPR_FD_CACHE_SIZE_LOW") at prenv.c:80 #6 0x28255553 in _PR_InitFdCache () at prfdcach.c:259 #7 0x2826a4d7 in _PR_InitIO () at ptio.c:1153 #8 0x28261b87 in _PR_InitStuff () at prinit.c:235 #9 0x282591de in PR_NewLogModule (name=0x2813e5cb "nsTimerImpl") at prlog.c:343 #10 0x28113aec in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at nsTimerImpl.h:52 #11 0x28113b07 in _GLOBAL__I__ZN11TimerThread6AddRefEv () at nsTimerImpl.h:494 #12 0x2813e235 in __do_global_ctors_aux () from ./libxpcom.so #13 0x280b8242 in _init () from ./libxpcom.so #14 0x280517ce in _rtld () from /libexec/ld-elf.so.1 (gdb) up 5 #5 0x282613f0 in PR_GetEnv (var=0x28272263 "NSPR_FD_CACHE_SIZE_LOW") at prenv.c:80 80 _PR_UNLOCK_ENV(); Current language: auto; currently c (gdb) list 75 76 if (!_pr_initialized) _PR_ImplicitInitialization(); 77 78 _PR_LOCK_ENV(); 79 ev = _PR_MD_GET_ENV(var); 80 _PR_UNLOCK_ENV(); 81 return ev; 82 } 83 84 PR_IMPLEMENT(PRStatus) PR_SetEnv(const char *string) (gdb) down 1 #4 0x2826892f in PR_Unlock (lock=0x28272b80) at ptsynch.c:207 207 PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex)); (gdb) list 202 PR_IMPLEMENT(PRStatus) PR_Unlock(PRLock *lock) 203 { 204 PRIntn rv; 205 206 PR_ASSERT(lock != NULL); 207 PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex)); 208 PR_ASSERT(PR_TRUE == lock->locked); 209 PR_ASSERT(pthread_equal(lock->owner, pthread_self())); 210 211 if (!lock->locked || !pthread_equal(lock->owner, pthread_self())) (gdb) quit #0 0x281d97e7 in kill () from /lib/libc.so.5 #1 0x280bc2e2 in raise () from /usr/lib/libpthread.so.1 #2 0x2822ea37 in abort () from /lib/libc.so.5 #3 0x2809351b in PR_Assert () at prlog.c:530 #4 0x280a292f in PR_Unlock (lock=0x280acb80) at ptsynch.c:207 #5 0x2809b3f0 in PR_GetEnv (var=0x280ac263 "NSPR_FD_CACHE_SIZE_LOW") at prenv.c:80 #6 0x2808f553 in _PR_InitFdCache () at prfdcach.c:259 #7 0x280a44d7 in _PR_InitIO () at ptio.c:1153 #8 0x2809bb87 in _PR_InitStuff () at prinit.c:235 #9 0x280969f9 in pr_LoadLibraryByPathname (name=0x804b80a "libxpcom.so", flags=671832520) at prlink.c:921 #10 0x2809698d in PR_LoadLibraryWithFlags (libSpec= {type = PR_LibSpec_Pathname, value = {pathname = 0x804b80a "libxpcom.s o", mac_named_fragment = {fsspec = 0x804b80a, name = 0x1068310 <Error reading ad dress 0x1068310: Bad address>}, mac_indexed_fragment = {fsspec = 0x804b80a, inde x = 17203984}}}, flags=33434) at prlink.c:612 #11 0x0804a331 in XPCOMGlueStartup (xpcomFile=0x0) at nsXPCOMGlue.cpp:108 #12 0x080491df in startup_xpcom() () at regxpcom.cpp:141 #13 0x080497de in main (argc=0, argv=0xbfbfeaf8) at regxpcom.cpp:389 #14 0x08048d14 in _start () (gdb) up 5 #5 0x2809b3f0 in PR_GetEnv (var=0x280ac263 "NSPR_FD_CACHE_SIZE_LOW") at prenv.c:80 80 _PR_UNLOCK_ENV(); Current language: auto; currently c (gdb) list 75 76 if (!_pr_initialized) _PR_ImplicitInitialization(); 77 78 _PR_LOCK_ENV(); 79 ev = _PR_MD_GET_ENV(var); 80 _PR_UNLOCK_ENV(); 81 return ev; 82 } 83 84 PR_IMPLEMENT(PRStatus) PR_SetEnv(const char *string) (gdb) print ev $1 = 0x0 (gdb) down 1 #4 0x280a292f in PR_Unlock (lock=0x280acb80) at ptsynch.c:207 207 PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex)); (gdb) list 202 PR_IMPLEMENT(PRStatus) PR_Unlock(PRLock *lock) 203 { 204 PRIntn rv; 205 206 PR_ASSERT(lock != NULL); 207 PR_ASSERT(_PT_PTHREAD_MUTEX_IS_LOCKED(lock->mutex)); 208 PR_ASSERT(PR_TRUE == lock->locked); 209 PR_ASSERT(pthread_equal(lock->owner, pthread_self())); 210 211 if (!lock->locked || !pthread_equal(lock->owner, pthread_self())) (gdb) print lock $2 = (PRLock *) 0x280acb80 (gdb) print *lock $3 = {mutex = 0x65737341, notified = {length = 1869182066, cv = {{ cv = 0x6166206e, times = 1920298089}, {cv = 0x25203a65, times = 1629498483}, {cv = 0x73252074, times = 174335290}, { cv = 0x6d727000, times = 779116909}, {cv = 0x63, times = 0}, { cv = 0x0, times = 0}}, link = 0x0}, locked = 0, owner = 0x746f7270} (gdb) up 6 #10 0x2809698d in PR_LoadLibraryWithFlags (libSpec= {type = PR_LibSpec_Pathname, value = {pathname = 0x804b80a "libxpcom.s o", mac_named_fragment = {fsspec = 0x804b80a, name = 0x1068310 <Error reading ad dress 0x1068310: Bad address>}, mac_indexed_fragment = {fsspec = 0x804b80a, inde x = 17203984}}}, flags=33434) at prlink.c:612 612 return pr_LoadLibraryByPathname(libSpec.value.pathname, flag s); (gdb) list 607 if (flags == 0) { 608 flags = _PR_DEFAULT_LD_FLAGS; 609 } 610 switch (libSpec.type) { 611 case PR_LibSpec_Pathname: 612 return pr_LoadLibraryByPathname(libSpec.value.pathname, flag s); 613 #ifdef XP_MAC 614 case PR_LibSpec_MacNamedFragment: 615 return pr_Mac_LoadNamedFragment( 616 libSpec.value.mac_named_fragment.fsspec, (gdb) print libSpec.value.pathname $5 = 0x804b80a "libxpcom.so" (gdb) print flags $6 = 33434 (gdb) quit ---snip--- I reviewed: ---snip--- # grep -R _PT_PTHREAD_MUTEX_IS_LOCKED . | grep define ./nsprpub/pr/include/md/_pth.h:#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (0 == p thread_mutex_trylock(&(m))) ./nsprpub/pr/include/md/_pth.h:#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (EBUSY == pthread_mutex_trylock(&(m))) ./nsprpub/pr/include/md/_pth.h:#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (EBUSY == pthread_mutex_trylock(&(m))) ./dist/include/nspr/md/_pth.h:#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (0 == pt hread_mutex_trylock(&(m))) ./dist/include/nspr/md/_pth.h:#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (EBUSY = = pthread_mutex_trylock(&(m))) ./dist/include/nspr/md/_pth.h:#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (EBUSY = = pthread_mutex_trylock(&(m))) ./dist/sdk/nspr/include/md/_pth.h:#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (0 = = pthread_mutex_trylock(&(m))) ./dist/sdk/nspr/include/md/_pth.h:#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (EBU SY == pthread_mutex_trylock(&(m))) ./dist/sdk/nspr/include/md/_pth.h:#define _PT_PTHREAD_MUTEX_IS_LOCKED(m) (EBU SY == pthread_mutex_trylock(&(m))) # grep -R _PR_LOCK_ENV . | grep define ./nsprpub/pr/src/misc/prenv.c:#define _PR_LOCK_ENV() ./nsprpub/pr/src/misc/prenv.c:#define _PR_LOCK_ENV() if (_pr_primordialCPU) _PR_ INTSOFF(_is); ./nsprpub/pr/src/misc/prenv.c:#define _PR_LOCK_ENV() { if (_pr_envLock) PR_Lock( _pr_envLock); } ---snip--- Unfortunately I haven't found a problem. And I don't know where to look further... :-( Feel free to make suggestions. I keep the work directory of the port in case someone has a clever idea what to try next... Bye, Alexander. -- I will be available to get hired in April 2004. http://www.Leidinger.net Alexander @ Leidinger.net GPG fingerprint = C518 BC70 E67F 143F BE91 3365 79E2 9C60 B006 3FE7
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040323121441.1e535e57>