Closed
Bug 266035
Opened 20 years ago
Closed 15 years ago
ASSERTION: Potential deadlock between Monitor@80c0648 and Lock@83b3ce8
Categories
(Core :: XPCOM, defect)
Tracking
()
RESOLVED
INCOMPLETE
People
(Reporter: mmokrejs, Unassigned)
Details
Attachments
(1 file)
|
5.00 KB,
text/plain
|
Details |
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686) Opera 7.54 [en]
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8a5) Gecko/20041025
I have a cvs version about 12 hours old. While quitting mailer&browser I got the
following:
--WEBSHELL == 9
nsPluginHostImpl::Observe "quit-application"
WARNING: requested removal of nonexistent window
, file nsWindowWatcher.cpp, line 937
GetPrimaryFrameFor() called while nsFrameManager is being destroyed!
--WEBSHELL == 8
--DOMWINDOW == 22
--DOMWINDOW == 21
--DOMWINDOW == 20
--WEBSHELL == 7
--DOMWINDOW == 19
--DOMWINDOW == 18
--WEBSHELL == 6
--WEBSHELL == 5
--WEBSHELL == 4
--WEBSHELL == 3
--WEBSHELL == 2
--WEBSHELL == 1
nsPluginHostImpl::Observe "xpcom-shutdown"
--DOMWINDOW == 17
--DOMWINDOW == 16
--DOMWINDOW == 15
--DOMWINDOW == 14
###!!! ASSERTION: nsGenericElement's event listener manager hash not empty at
shutdown!: 'sEventListenerManagersHash.entryCount == 0', file nsGenericElement.
cpp, line 788
Break: at file nsGenericElement.cpp, line 788
WARNING: nsExceptionService ignoring thread destruction after shutdown, file
nsExceptionService.cpp, line 191
--DOMWINDOW == 13
+++ JavaScript debugging hooks removed.
nsPluginHostImpl dtor
Could not write out perisistant registry!
###!!! ASSERTION: not an nsIRDFRemoteDataSource: 'remote != nsnull', file
nsLocalStore.cpp, line 350
Break: at file nsLocalStore.cpp, line 350
###!!! ASSERTION: Potential deadlock between Monitor@80c0648 and Lock@83b3ce8:
'Error', file nsAutoLock.cpp, line 302
Break: at file nsAutoLock.cpp, line 302
###!!! ASSERTION: Potential deadlock between Monitor@80c0648 and Lock@83b3ce8:
'Error', file nsAutoLock.cpp, line 302
Break: at file nsAutoLock.cpp, line 302
--DOMWINDOW == 12
###!!! ASSERTION: Potential deadlock between Monitor@80c0648 and Lock@83b3ce8:
'Error', file nsAutoLock.cpp, line 302
Break: at file nsAutoLock.cpp, line 302
###!!! ASSERTION: Leaking the shared pref handler (and the prefservice,
presumably).: '!gSharedPrefHandler', file nsPrefsFactory.cpp, line 95
Break: at file nsPrefsFactory.cpp, line 95
GC Cache:
hits: 443503 42337 31306 29205 9937 11213 5519 4104 1777 1744
hits: 580645, misses: 51598, hit percent: 91.838898%
###!!! ASSERTION: Main thread being held past XPCOM shutdown.: 'cnt == 0', file
nsThread.cpp, line 450
Break: at file nsThread.cpp, line 450
nsStringStats
=> mAllocCount: 658432
=> mReallocCount: 68131
=> mFreeCount: 658353 -- LEAKED 79 !!!
=> mShareCount: 483399
=> mAdoptCount: 447981
=> mAdoptFreeCount: 446468 -- LEAKED 1513 !!!
$
Reproducible: Always
Steps to Reproduce:
1.
2.
3.reporter: please get at least a stack trace for the assertion, i'll help you figure out what's up if you provide it.
| Reporter | ||
Comment 2•20 years ago
|
||
Hi,
tell me how to set the breakpoint in that .cpp file. :)
Just some gdb commands you would use ...
mokrejs@aquarius$ cd ../../dist/bin/
mokrejs@aquarius$ ./mozilla -g
./run-mozilla.sh -g ./mozilla-bin
MOZILLA_FIVE_HOME=.
LD_LIBRARY_PATH=.:./plugins:/usr/local/lib/mre/mre-1.8a5
DISPLAY=:0.0
DYLD_LIBRARY_PATH=.:/usr/local/lib/mre/mre-1.8a5
LIBRARY_PATH=.:./components:/usr/local/lib/mre/mre-1.8a5
SHLIB_PATH=.:/usr/local/lib/mre/mre-1.8a5
LIBPATH=.:/usr/local/lib/mre/mre-1.8a5
ADDON_PATH=.
MOZ_PROGRAM=./mozilla-bin
MOZ_TOOLKIT=
moz_debug=1
moz_debugger=
which: no ddd in
(/bin:/usr/bin:/usr/athena/bin:/usr/local/sbin:/usr/local/bin:/usr/local/bin:/opt/bin:/usr/afsws/bin:/etc/
s/afsws:/usr/i686-pc-linux-gnu/gcc-bin/3.3:/opt/intel/compiler80/bin:/opt/Acrobat5:/usr/X11R6/bin:/opt/blackdown-jdk-1.4.1/
n:/opt/blackdown-jdk-1.4.1/jre/bin:/opt/pixie/bin:)
/usr/bin/gdb ./mozilla-bin -x /tmp/mozargs1127
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library
"/lib/libthread_db.so.1".
(gdb) b nsAutoLock.cpp:258
No source file named nsAutoLock.cpp.
(gdb) b ../../xpcom/threads/nsAutoLock.cpp:302
No source file named ../../xpcom/threads/nsAutoLock.cpp.
(gdb) b ../../xpcom/threads/nsAutoLock.cpp
Can't find member of namespace, class, struct, or union named
"../../xpcom/threads/nsAutoLock.cpp"
Hint: try '../../xpcom/threads/nsAutoLock.cpp<TAB> or
'../../xpcom/threads/nsAutoLock.cpp<ESC-?>
(Note leading single quote.)
(gdb) b ../../xpcom/threads/nsAutoLock.cpp:nsAutoLockBase::nsAutoLockBase
Can't find member of namespace, class, struct, or union named
"../../xpcom/threads/nsAutoLock.cpp:nsAutoLockBase::nsAutoLoc
ase"
Hint: try
'../../xpcom/threads/nsAutoLock.cpp:nsAutoLockBase::nsAutoLockBase<TAB> or
'../../xpcom/threads/nsAutoLock.cpp:ns
toLockBase::nsAutoLockBase<ESC-?>
(Note leading single quote.)
(gdb)export XPCOM_DEBUG_BREAK=suspend and read http://www.mozilla.org/unix/debugging-faq.html
| Reporter | ||
Comment 4•20 years ago
|
||
Sorry, spent some hours recompiling mozilla with -g3, then had to manually edit config.status to force those debug opts into hopefully all makefiles. What I get is (as an example, it not related to this ASSERTION, but is similar output): warning: attempted to CreateNative() width a non-superwin and non gtk container parent ###!!! ASSERTION: not initialized: 'mTable != nsnull', file nsGlobalHistory.cpp, line 797 Break: at file nsGlobalHistory.cpp, line 797 Suspending process; attach with the debugger. Program received signal SIGSTOP, Stopped (signal). 0xb79db7b1 in kill () from /lib/libc.so.6 (gdb) Continuing. Program received signal SIGSTOP, Stopped (signal). [Switching to Thread 49156 (LWP 27333)] 0xb7e6ef86 in nanosleep () from /lib/libpthread.so.0 (gdb) where #0 0xb7e6ef86 in nanosleep () from /lib/libpthread.so.0 #1 0x00000001 in ?? () #2 0xb7e6b4c6 in __pthread_timedsuspend_new () from /lib/libpthread.so.0 #3 0xb7e680a4 in pthread_cond_timedwait_relative () from /lib/libpthread.so.0 #4 0xb7f085cc in pt_TimedWait (cv=0x80a221c, ml=0x80a21b8, timeout=499) at ptsynch.c:267 #5 0xb7f08ae3 in PR_WaitCondVar (cvar=0x80a2218, timeout=499) at ptsynch.c:394 #6 0xb764b30c in ?? () #7 0x080a2218 in ?? () #8 0x000001f3 in ?? () #9 0xbf3ffa4c in ?? () #10 0xb7ef51d7 in PR_SetThreadPrivate (index=134881512, priv=0x82e83a8) at prtpd.c:189 #11 0xb7646e87 in ?? () #12 0x080a20e8 in ?? () #13 0x082e83a8 in ?? () #14 0xbf3ffa9c in ?? () #15 0xb7f08492 in PR_Unlock (lock=0x82e6a40) at ptsynch.c:220 #16 0xb7f10348 in _pt_root (arg=0x82e83a8) at ptthread.c:217 #17 0xb7e68dfe in pthread_start_thread () from /lib/libpthread.so.0 #18 0xb7e68e88 in pthread_start_thread_event () from /lib/libpthread.so.0 #19 0xb7a649aa in clone () from /lib/libc.so.6 (gdb) I want to have resolved all symbols. I believe it has to do with the $pwd or some $path value gdb is using to find sources. I tried to run gdb from mozila/dist/bin, mozilla/ and mozilla/xpcom/$something/ where mozilla-bin residen. From those directories I always used "$somepath/dist/bin/mozilla -g". The FAQ doesn't mention this problem. I know it's general gdb FAQ, but still haven't found an answer. Hey, it's just 3 lines for you. ;)
This is how you should do it (I'm using xpcshell, but ./mozilla -g is what you want)
mozhack@boffo:~/obj-i686-pc-linux-gnu-xlib/dist/bin$ ./run-mozilla.sh -g ./xpcshell
MOZILLA_FIVE_HOME=.
LD_LIBRARY_PATH=.:./plugins:.
DYLD_LIBRARY_PATH=.:.
LIBRARY_PATH=.:./components:.
SHLIB_PATH=.:.
LIBPATH=.:.
ADDON_PATH=.
MOZ_PROGRAM=./xpcshell
MOZ_TOOLKIT=
moz_debug=1
moz_debugger=
which: no ddd in
(/mnt/ibm/mozhack/bin:/home/timeless/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:/usr/local/java/bin:/opt/kde/bin:/usr/lib/qt-3.0.4/bin:.)
/usr/bin/gdb ./xpcshell -x /tmp/mozargs15835
GNU gdb 5.2
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-slackware-linux"...
(gdb) r
Starting program:
/mnt/ibm/mozhack/obj-i686-pc-linux-gnu-xlib/js/src/xpconnect/shell/xpcshell
js>
dbg=Components.classes["@mozilla.org/xpcom/debug;1"].createInstance(Components.interfaces.nsIDebug)
[xpconnect wrapped nsIDebug]
js> dbg.assertion(0, "hi", "lo", 1)
###!!! ASSERTION: 0: 'hi', file lo, line 1
Break: at file lo, line 1
Suspending process; attach with the debugger.
Program received signal SIGSTOP, Stopped (signal).
0x402832f1 in kill () from /lib/libc.so.6
(gdb) where
#0 0x402832f1 in kill () from /lib/libc.so.6
#1 0x40153bd0 in nsDebugImpl::Break (this=0x80fe130, aFile=0x8097dd8 "lo",
aLine=1) at /mnt/ibm/mozhack/mozilla/xpcom/base/nsDebugImpl.cpp:328
#2 0x40153b02 in nsDebugImpl::Assertion (this=0x80fe130, aStr=0x8097e30 "0",
aExpr=0x80f3028 "hi", aFile=0x8097dd8 "lo", aLine=1)
at /mnt/ibm/mozhack/mozilla/xpcom/base/nsDebugImpl.cpp:289
#3 0x40165f32 in XPTC_InvokeByIndex () from ./libxpcom.so
#4 0x403f605c in XPCWrappedNative::CallMethod (ccx=@0xbfffe058,
mode=CALL_METHOD)
at /mnt/ibm/mozhack/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp:2028
#5 0x403fd222 in XPC_WN_CallMethod (cx=0x80ca828, obj=0x809b640, argc=4,
argv=0x80fe340, vp=0xbfffe184)
at /mnt/ibm/mozhack/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp:1287
#6 0x4004abc6 in js_Invoke (cx=0x80ca828, argc=4, flags=0)
at /mnt/ibm/mozhack/mozilla/js/src/jsinterp.c:1281
#7 0x400526f5 in js_Interpret (cx=0x80ca828, result=0xbfffe3c4)
at /mnt/ibm/mozhack/mozilla/js/src/jsinterp.c:3375
#8 0x4004b186 in js_Execute (cx=0x80ca828, chain=0x809acc8, script=0x80fad10,
down=0x0, flags=0, result=0xbfffe498)
at /mnt/ibm/mozhack/mozilla/js/src/jsinterp.c:1511
#9 0x4002a915 in JS_ExecuteScript (cx=0x80ca828, obj=0x809acc8,
script=0x80fad10, rval=0xbfffe498)
---Type <return> to continue, or q <return> to quit---
at /mnt/ibm/mozhack/mozilla/js/src/jsapi.c:3526
#10 0x0804b416 in ProcessFile (cx=0x80ca828, obj=0x809acc8, filename=0x0,
file=0x40223e40)
at /mnt/ibm/mozhack/mozilla/js/src/xpconnect/shell/xpcshell.cpp:595
#11 0x0804b5c4 in Process (cx=0x80ca828, obj=0x809acc8, filename=0x0, file=0x0)
at /mnt/ibm/mozhack/mozilla/js/src/xpconnect/shell/xpcshell.cpp:651
#12 0x0804b9c3 in ProcessArgs (cx=0x80ca828, obj=0x809acc8, argv=0xbffff618,
argc=0) at /mnt/ibm/mozhack/mozilla/js/src/xpconnect/shell/xpcshell.cpp:774
#13 0x0804c386 in main (argc=0, argv=0xbffff618, envp=0xbffff61c)
at /mnt/ibm/mozhack/mozilla/js/src/xpconnect/shell/xpcshell.cpp:1109
#14 0x4027217d in __libc_start_main () from /lib/libc.so.6
(gdb)
you might need to use |shar|.Component: XPCOM → Accessibility APIs
Comment 6•19 years ago
|
||
I see this assertion too, when closing calendar. Attaching the stack.
Comment 8•15 years ago
|
||
I believe this was fixed in observerservice but closing out really old bugs in any case.
Status: UNCONFIRMED → RESOLVED
Closed: 15 years ago
Resolution: --- → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•