Closed Bug 981033 Opened 6 years ago Closed 6 years ago

Fix intermittent "chrome/test_cyclecollector.xul | Observer should have been called!" failure with ICC

Categories

(Core :: XPCOM, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla30

People

(Reporter: mccr8, Assigned: mccr8)

References

Details

Attachments

(3 files)

No description provided.
Assignee: nobody → continuation
I don't like the look of this intermittent failure, either.
OS: Mac OS X → All
Hardware: x86 → All
I think this is a silly mistake.  The scenario is triggering a full CC when we're in the middle of an ICC.  At the start of Collect(), it sets the reentrancy guard, then finishes off the ICC that is in progress.  Then it recusively invokes Collect() again, to do the full CC, but the reentrancy guard is already set, so we return immediately.  To fix this, I just clear the reentrancy guard before we check if we need a recursive call.  All the real CC work is still guarded by the flag, so it should be okay.
Attachment #8388201 - Flags: review?(bugs)
Attachment #8388201 - Flags: review?(bugs) → review+
Well, I should do a try run first, just in case.
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/07f677730558
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
You need to log in before you can comment on or make changes to this bug.