[Mac] Assertion failure: "The observers have not been correctly removed!"

NEW
Unassigned

Status

()

Core
Widget: Cocoa
--
critical
5 years ago
5 years ago

People

(Reporter: Jesse Ruderman, Unassigned)

Tracking

(Blocks: 2 bugs, {assertion, testcase})

Trunk
x86_64
Mac OS X
assertion, testcase
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

5 years ago
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)
(Reporter)

Comment 1

5 years ago
Created attachment 773671 [details]
stack
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.
(Reporter)

Comment 4

5 years ago
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.

Comment 6

5 years ago
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.