Closed Bug 651273 Opened 13 years ago Closed 13 years ago

cycle collector doesn't add marked JS objects correctly with WANT_ALL_TRACES

Categories

(Core :: XPCOM, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: mccr8, Assigned: mccr8)

References

Details

Attachments

(1 file)

In Bug 641910 I added code to prevent marked JS objects from being added to the cycle collector graph, so I removed the corresponding check for these objects from nsXPConnect::Traverse.  Unfortunately, I forgot that when WANT_ALL_TRACES is enabled, marked JS objects are still added to the cycle collector graph.  In a non-DEBUG_CC build of Firefox, WANT_ALL_TRACES is only enabled when there is a listener, so the main consequence of this change is that it breaks the cycle collector graph dumping code added by Bug 466157.

This could be fixed by adding in some kind of check for WantAllTraces into the test, but I think it makes more sense to just back out the changes I made to nsXPConnect::Traverse, because the mark bit checking should be quick.
Assignee: nobody → continuation
Blocks: 466157
Attachment #527826 - Flags: review?(peterv) → review+
Blocks: 654041
No longer blocks: 654041
I made a try server push against the latest mozilla-central.

http://tbpl.mozilla.org/?tree=Try&rev=4934df3ec265

Everything passed, except a couple of Android and JP tests that don't seem to be visible on m-c, and for whatever reason Windows opt hasn't even finished building yet.
Mochitest 1 failed on WinXP opt, but otherwise the Windows opt builds passed.  I guess I should figure out what the deal is with that.
I reran the Windows opt Mochitest 1 and they both came out clean, so I think this patch is good to go.
Keywords: checkin-needed
Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: