Closed Bug 864340 Opened 13 years ago Closed 12 years ago

Intermittent Windows leakcheck | 372039 bytes leaked (AtomImpl, BackstagePass, DOMStorageObserver, DR_State, DecodeRequest, ...)

Categories

(Core :: Graphics: ImageLib, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: RyanVM, Unassigned)

Details

(Keywords: intermittent-failure, memory-leak)

This looks like ImageLib based on the Decode stuff being leaked and given that the leak log is showing image decoding crashtests in the leaked URLs, but the DOMStorageObserver makes me wonder too. Not sure what's holding on to what, though. https://tbpl.mozilla.org/php/getParsedLog.php?id=22088914&tree=Mozilla-Inbound Rev3 WINNT 5.1 mozilla-inbound debug test crashtest on 2013-04-22 07:38:26 PDT for push a61ac869e4e7 slave: talos-r3-xp-011 07:56:43 WARNING - TEST-UNEXPECTED-FAIL | leakcheck | 372039 bytes leaked (AtomImpl, BackstagePass, DOMStorageObserver, DR_State, DecodeRequest, ...) 07:56:43 INFO - Leaked URLs: 07:56:43 INFO - file:///c:/talos-slave/test/build/tests/reftest/tests/image/test/crashtests/694165-1.xhtml 07:56:43 INFO - file:///c:/talos-slave/test/build/tests/reftest/tests/image/test/crashtests/844403-1.html 07:56:43 INFO - file:///c:/talos-slave/test/build/tests/reftest/tests/media/libpng/crashtests/374810-1.html 07:56:43 INFO - nsStringStats 07:56:43 INFO - => mAllocCount: 1288254 07:56:43 INFO - => mReallocCount: 103344 07:56:43 INFO - => mFreeCount: 1284527 -- LEAKED 3727 !!! 07:56:43 INFO - => mShareCount: 2877351 07:56:43 INFO - => mAdoptCount: 149641 07:56:43 INFO - => mAdoptFreeCount: 149639 -- LEAKED 2 !!! 07:56:43 INFO - TEST-INFO | leakcheck | leaked 130 AtomImpl (3120 bytes) 07:56:43 INFO - TEST-INFO | leakcheck | leaked 7 BackstagePass (252 bytes) 07:56:43 INFO - TEST-INFO | leakcheck | leaked 1 DOMStorageObserver (28 bytes) 07:56:43 INFO - TEST-INFO | leakcheck | leaked 1 DR_State (32 bytes) 07:56:43 INFO - TEST-INFO | leakcheck | leaked 51 DecodeRequest (2040 bytes)
Huh, we're also leaking some layout crashtest URLs. It's possible we're leaking an imgLoader or perhaps whatever holds on to the imgLoader, like nsImageFrame::IconLoad.
DOMStorageObserver is addrefed only on two places: - nsLayoutStatics::Initialize() [1], the corresopnding release is at nsLayoutStatics::Shutdown() [2]. - DOMStorageObserver::Observe with topic "sessionstore-windows-restored" [3] creates a timer (0ms delay, actually a dispatch to the current thread)) that refers the observer for the time ; the observer refers the timer, so there is a cycle, but this cycle breaks when the timer fires or the timer is shut down during xpcom shutdown Hard to say whether nsLayoutStatics::Shutdown didn't fire or the timer failed to fire/shutdown. To figure out, we could cancel and release the mDBThreadStartDelayTimer member at DOMStorageObserver::Shutdown(). I cannot do it right now, tho. [1] http://mxr.mozilla.org/mozilla-central/source/layout/build/nsLayoutStatics.cpp#219 [2] http://mxr.mozilla.org/mozilla-central/source/layout/build/nsLayoutStatics.cpp#290 [3] http://mxr.mozilla.org/mozilla-central/source/dom/src/storage/DOMStorageObserver.cpp#126
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.