Created attachment 773670 [details] testcase 1. Load the testcase 2. Quit Firefox Assertion failure: !mRunLoopSource (The observers have not been correctly removed! (StopListening should have been called)), at hal/cocoa/CocoaBattery.cpp:168 * CocoaBattery.cpp was added in bug 696045 * This might be a regression from bug 885171 (cf recently-fixed bug 886213)
Bug 888389 looks sort of related but I don't see how it would fix this.
It would, of course, be nice to get a regression range.
The first bad revision is: changeset: http://hg.mozilla.org/mozilla-central/rev/d265226f218c user: Boris Zbarsky date: Thu Jun 20 14:34:38 2013 -0400 summary: Bug 885171. Make Navigator wrappercached and cycle-collected, and have it hold a strong reference to its window always. r=smaug Which matches my guess in comment 0.
Mmm... What would make sure that all Navigator objects and their mBatteries would be collected before ~MacPowerInformationService? I don't see anything obviously enforcing that.
Yeah, I don't see anything either. Is the assertion important? If it is, navigator could observe xpcom-shutdown, but that is a bit ugly. If the assertion isn't too useful, we could just remove it.
You need to log in before you can comment on or make changes to this bug.