Open Bug 1303637 Opened 8 years ago Updated 2 months ago

Profile manager leaking JS runtime

Categories

(Toolkit :: Startup and Profile System, defect, P5)

defect

Tracking

()

People

(Reporter: jorgk-bmo, Unassigned)

References

Details

Run a debug build of Firefox (or Thunderbird) with -p to start the profile manager. Select a profile and press start. You see: WARNING: YOU ARE LEAKING THE WORLD (at least one JSRuntime and everything alive inside it, that is) AT JS_ShutDown TIME. FIX THIS! [5444] WARNING: '!compMgr', file c:/mozilla-source/mozilla-central/xpcom/glue/nsComponentManagerUtils.cpp, line 63 Leaked URLs: chrome://mozapps/content/profile/profileSelection.xul resource://gre-resources/counterstyles.css chrome://global/content/minimal-xul.css resource://gre-resources/quirk.css resource://gre/res/svg.css chrome://global/content/xul.css chrome://global/skin/scrollbars.css resource://gre-resources/number-control.css I'm not including the entire list that takes many seconds to pass on the debug console. I mentioned this in bug 1303078 and Gijs asked: > right now I have no idea if this shows up when you open the > profile manager, when you close it, or when you close > thunderbird or firefox or anything else after you open > a profile from the profile manager, or something else still. > It's also not clear if it reproduces with a clean profile on > an official debug build, or just locally As stated: After selecting a profile and pressing "Start". Bug happens regardless of which profile you pick, even if you create a new profile and pick it. I'm using my local (debug) build, I haven't tried an official debug build, but I can't imagine a reason why it should be different.
OS: Unspecified → All
Hardware: Unspecified → All
Version: unspecified → Trunk
Priority: -- → P5
After landing of bug 1276669 this has now become: WARNING: YOU ARE LEAKING THE WORLD (at least one JSRuntime and everything alive inside it, that is) AT JS_ShutDown TIME. FIX THIS! [4124] WARNING: '!compMgr', file c:/mozilla-source/mozilla-central/xpcom/compone nts/nsComponentManagerUtils.cpp, line 63 [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount stringBundleBinding s!: 'false', file c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable.cpp, li ne 397 [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount no-bar!: 'false', f ile c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable.cpp, line 397 [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount autocomplete-richli stbox!: 'false', file c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable.cpp , line 397 [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount buttonBindings!: 'f alse', file c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable.cpp, line 397 [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount autocomplete-result -popupset!: 'false', file c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable .cpp, line 397 [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount outset!: 'false', f ile c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable.cpp, line 397 [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount dialogBindings!: 'f alse', file c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable.cpp, line 397 [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount extra2!: 'false', f ile c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable.cpp, line 397 [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount arrowbox!: 'false', file c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable.cpp, line 397 [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount panelopen!: 'false' , file c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable.cpp, line 397 [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount preference!: 'false ', file c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable.cpp, line 397 [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount More Info!: 'false' , file c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable.cpp, line 397
Blocks: 1276669
Flags: needinfo?(nfroyd)
(In reply to Jorg K (GMT+1) from comment #2) > After landing of bug 1276669 this has now become: > > WARNING: YOU ARE LEAKING THE WORLD (at least one JSRuntime and everything > alive > inside it, that is) AT JS_ShutDown TIME. FIX THIS! > [4124] WARNING: '!compMgr', file > c:/mozilla-source/mozilla-central/xpcom/compone > nts/nsComponentManagerUtils.cpp, line 63 > [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount > stringBundleBinding > s!: 'false', file > c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable.cpp, li > ne 397 > [4124] ###!!! ASSERTION: dynamic atom with non-zero refcount no-bar!: > 'false', f > ile c:/mozilla-source/mozilla-central/xpcom/ds/nsAtomTable.cpp, line 397 Yes, this is not particularly surprising: if we were already leaking a JSRuntime, we were almost certainly leaking atoms connected to that runtime in some fashion.
Flags: needinfo?(nfroyd)
Yes, it's not surprising. The question is whether you're going to address this problem so the TB team can learn from your approach to fix a similar-looking problem in TB.
(In reply to Jorg K (GMT+1) from comment #5) > Yes, it's not surprising. The question is whether you're going to address > this problem so the TB team can learn from your approach to fix a > similar-looking problem in TB. There are previous shutdown leak fixes even in c-c if you are looking for potentially useful examples, e.g. bug 765074, bug 764742, bug 955563, bug 955236.
Boy, that's interesting reading, and somewhat frustrating too, since those leaks are hard to find.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.