Closed Bug 243097 Opened 21 years ago Closed 8 years ago

[ASSERTION] pref handler leak

Categories

(Core :: Preferences: Backend, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: tenthumbs, Unassigned)

References

Details

(Keywords: assertion)

Attachments

(1 file)

With my Linux gtk1 trunk build on 20040508 I get this assertion at shutdown. ###!!! ASSERTION: Leaking the shared pref handler (and the prefservice, presumably).: '!gSharedPrefHandler', file nsPrefsFactory.cpp, line 95 Break: at file nsPrefsFactory.cpp, line 95 This code was added in the patch for bug 241697.
Yeah, that means that someone is leaking the prefservice. I just asserted it, I didn't cause it.
OK, changing summary from "Assertion in nsPrefsFactory.cpp" to "[ASSERTION] pref handler leak."
Keywords: assertion
Summary: Assertion in nsPrefsFactory.cpp → [ASSERTION] pref handler leak
Blocks: 160540
Attached file gdb output
reproduced with today's cvs version
Some more data to this old problem. I use from todays cvs: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b2) Gecko/20050407 (gdb) Continuing. [Thread 49156 (LWP 1694) exited] Could not write out perisistant registry! --WEBSHELL == 0 --DOMWINDOW == 2 --DOMWINDOW == 1 --DOMWINDOW == 0 ###!!! ASSERTION: Leaking the shared pref handler (and the prefservice, presumably).: '!gSharedPrefHandler', file nsPrefsFactory.cpp, line 95 Break: at file nsPrefsFactory.cpp, line 95 Suspending process; attach with the debugger. Program received signal SIGSTOP, Stopped (signal). [Switching to Thread 32769 (LWP 4732)] 0xb763ddec in poll () from /lib/libc.so.6 (gdb) info threads * 2 Thread 32769 (LWP 4732) 0xb763ddec in poll () from /lib/libc.so.6 1 Thread 16384 (LWP 4726) 0xb75a74a1 in kill () from /lib/libc.so.6 (gdb) thread 1 [Switching to thread 1 (Thread 16384 (LWP 4726))]#0 0xb75a74a1 in kill () from /lib/libc.so.6 (gdb) where #0 0xb75a74a1 in kill () from /lib/libc.so.6 #1 0xb7f998ab in nsDebugImpl::Break (this=0x81c1b90, aFile=0xb7001730 "nsPrefsFactory.cpp", aLine=95) at nsDebugImpl.cpp:333 #2 0xb7f99793 in nsDebugImpl::Assertion (this=0x81c1b90, aStr=0xb7001758 "Leaking the shared pref handler (and the prefservice, presumably).", aExpr=0xb7001743 "!gSharedPrefHandler", aFile=0xb7001730 "nsPrefsFactory. cpp", aLine=95) at nsDebugImpl.cpp:294 #3 0xb7f120b8 in nsDebug::Assertion (aStr=0xb7001758 "Leaking the shared pref handler (and the prefservice, presumably).", aExpr=0xb7001743 "!gSharedPrefHandler", aFile=0xb7001730 "nsPrefsFactory. cpp", aLine=95) at nsDebug.cpp:108 #4 0xb6ffc214 in UnloadPrefsModule (unused=0x80f1d88) at nsPrefsFactory.cpp:95 #5 0xb7f13037 in nsGenericModule::Shutdown (this=0x80f1d88) at nsGenericFactory.cpp:344 #6 0xb7f12ae2 in ~nsGenericModule (this=0x80f1d88) at nsGenericFactory.cpp:241 #7 0xb7f12c1c in nsGenericModule::Release (this=0x80f1d88) at nsGenericFactory. cpp:249 #8 0xb7f85663 in nsDll::Shutdown (this=0x80975d8) at xcDll.cpp:381 #9 0xb7f81352 in nsFreeLibrary (dll=0x80975d8, serviceMgr=0x0, when=3) at nsNativeComponentLoader.cpp:289 #10 0xb7f8154c in nsFreeLibraryEnum (aKey=0x80f1d28, aData=0x80975d8, closure=0xbfffe5e8) at nsNativeComponentLoader.cpp:360 #11 0xb7f23b68 in hashEnumerate (table=0x808db38, hdr=0x808e0fc, i=35, arg=0xbfffe5b0) at nsHashtable.cpp:131 #12 0xb7f1c9ee in PL_DHashTableEnumerate (table=0x808db38, etor=0xb7f23b32 <hashEnumerate>, arg=0xbfffe5b0) at pldhash.c:619 #13 0xb7f244b3 in nsHashtable::Enumerate (this=0x808db30, aEnumFunc=0xb7f814f2 <nsFreeLibraryEnum>, aClosure=0xbfffe5e8) at nsHashtable.cpp:319 #14 0xb7f834de in nsNativeComponentLoader::UnloadAll (this=0x808daf0, aWhen=3) at nsNativeComponentLoader.cpp:983 #15 0xb7f7cbc7 in nsComponentManagerImpl::UnloadLibraries (this=0x8087620, serviceMgr=0x0, aWhen=3) at nsComponentManager.cpp:3129 #16 0xb7f77423 in nsComponentManagerImpl::Shutdown (this=0x8087620) at nsComponentManager.cpp:900 #17 0xb7f1852e in NS_ShutdownXPCOM_P (servMgr=0x0) at nsXPComInit.cpp:825 #18 0x0804ec04 in main (argc=1, argv=0xbfffe7f4) at nsAppRunner.cpp:1839 (gdb) (gdb) bt full #0 0xb75a74a1 in kill () from /lib/libc.so.6 No symbol table info available. #1 0xb7f998ab in nsDebugImpl::Break (this=0x81c1b90, aFile=0xb7001730 "nsPrefsFactory.cpp", aLine=95) at nsDebugImpl.cpp:333 assertBehavior = 0xbffff495 "suspend" #2 0xb7f99793 in nsDebugImpl::Assertion (this=0x81c1b90, aStr=0xb7001758 "Leaking the shared pref handler (and the prefservice, presumably).", aExpr=0xb7001743 "!gSharedPrefHandler", aFile=0xb7001730 "nsPrefsFactory. cpp", aLine=95) at nsDebugImpl.cpp:294 buf = "###!!! ASSERTION: Leaking the shared pref handler (and the prefservice, presumably).: '!gSharedPrefHandler', file nsPrefsFactory.cpp, line 95\000\234\bö%Ö·(dà·pê\213\bpê\213\b¨]\f\b {î·\210àÿ¿\022\212å·Ðá¾\b\200ã\213\bpê\213\b)_ç·0,\222\b\004\000\000\000"... #3 0xb7f120b8 in nsDebug::Assertion (aStr=0xb7001758 "Leaking the shared pref handler (and the prefservice, presumably).", aExpr=0xb7001743 "!gSharedPrefHandler", aFile=0xb7001730 "nsPrefsFactory. cpp", aLine=95) at nsDebug.cpp:108 No locals. #4 0xb6ffc214 in UnloadPrefsModule (unused=0x80f1d88) at nsPrefsFactory.cpp:95 No locals. #5 0xb7f13037 in nsGenericModule::Shutdown (this=0x80f1d88) at nsGenericFactory.cpp:344 node = (nsGenericModule::FactoryNode *) 0x8081378 #6 0xb7f12ae2 in ~nsGenericModule (this=0x80f1d88) at nsGenericFactory.cpp:241 No locals. #7 0xb7f12c1c in nsGenericModule::Release (this=0x80f1d88) at nsGenericFactory. cpp:249 count = 0 #8 0xb7f85663 in nsDll::Shutdown (this=0x80975d8) at xcDll.cpp:381 refcnt = 3221218512 #9 0xb7f81352 in nsFreeLibrary (dll=0x80975d8, serviceMgr=0x0, when=3) at nsNativeComponentLoader.cpp:289 rv = 2147500037 dllMarkedForUnload = 0 canUnload = 0 mobj = {mRawPtr = 0x0} #10 0xb7f8154c in nsFreeLibraryEnum (aKey=0x80f1d28, aData=0x80975d8, closure=0xbfffe5e8) at nsNativeComponentLoader.cpp:360 dll = (nsDll *) 0x80975d8 callData = (freeLibrariesClosure *) 0xbfffe5e8 #11 0xb7f23b68 in hashEnumerate (table=0x808db38, hdr=0x808e0fc, i=35, arg=0xbfffe5b0) at nsHashtable.cpp:131 thunk = (_HashEnumerateArgs *) 0xbfffe5b0 entry = (HTEntry *) 0x808e0fc #12 0xb7f1c9ee in PL_DHashTableEnumerate (table=0x808db38, etor=0xb7f23b32 <hashEnumerate>, arg=0xbfffe5b0) at pldhash.c:619 entryAddr = 0x808e0fc "qê\021](\035\017\bØu\t\b" entryLimit = 0x808e8a0 "" i = 36 capacity = 256 entrySize = 12 didRemove = 0 entry = (PLDHashEntryHdr *) 0x808e0fc op = PL_DHASH_LOOKUP #13 0xb7f244b3 in nsHashtable::Enumerate (this=0x808db30, aEnumFunc=0xb7f814f2 <nsFreeLibraryEnum>, aClosure=0xbfffe5e8) at nsHashtable.cpp:319 wasEnumerating = 0 thunk = {fn = 0xb7f814f2 <nsFreeLibraryEnum>, arg = 0xbfffe5e8} ---Type <return> to continue, or q <return> to quit--- #14 0xb7f834de in nsNativeComponentLoader::UnloadAll (this=0x808daf0, aWhen=3) at nsNativeComponentLoader.cpp:983 callData = {serviceMgr = 0x0, when = 3} #15 0xb7f7cbc7 in nsComponentManagerImpl::UnloadLibraries (this=0x8087620, serviceMgr=0x0, aWhen=3) at nsComponentManager.cpp:3129 rv = 0 mon = {<nsAutoLockBase> = {mAddr = 0x808da80, mDown = 0x0, mType = nsAutoLockBase::eAutoMonitor}, mMonitor = 0x808da80, mLockCount = 1} #16 0xb7f77423 in nsComponentManagerImpl::Shutdown (this=0x8087620) at nsComponentManager.cpp:900 i = 2 #17 0xb7f1852e in NS_ShutdownXPCOM_P (servMgr=0x0) at nsXPComInit.cpp:825 rv = 0 currentQ = {mRawPtr = 0x0} #18 0x0804ec04 in main (argc=1, argv=0xbfffe7f4) at nsAppRunner.cpp:1839 i = 1 x11threadsafe = 0 rv = 0 dosplash = 0 remoterv = 0 argused = 0 mainResult = 0 nativeApp = (class nsINativeAppSupport *) 0x80c4b60 splash = (class nsISplashScreen *) 0x0 (gdb)
Is this still an issue?
(Filter "spam" on 'prefs-nobody-20080612'.)
Assignee: prefs → nobody
QA Contact: prefs
QA Contact: preferences → preferences-backend
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: