Closed Bug 1364528 Opened 3 years ago Closed 3 years ago

Don't synchronously finalize native objects if an exception is pending

Categories

(Core :: XPCOM, enhancement)

enhancement
Not set

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: mccr8, Assigned: mccr8)

References

Details

Attachments

(1 file)

CycleCollectedJSRuntime synchronously finalizes native objects for non-incremental GCs. I believe this is mostly done because we use synchronous GCs in testing, and we want to check that things are actually destroyed by a certain point. However, bug 1362340 shows that we sometimes run a synch GC at weird points in the middle of JS calls, and that can end up setting an exception. That seems like it could be really bad, so I think we should just not sync finalize in that case. Hopefully it won't break any testing we do in the tree.
Comment on attachment 8867330 [details]
Bug 1364528 - Don't synchronously finalize native objects if an exception is pending.

https://reviewboard.mozilla.org/r/138846/#review142232
Attachment #8867330 - Flags: review?(bugs) → review+
Pushed by amccreight@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a61ed4643a77
Don't synchronously finalize native objects if an exception is pending. r=smaug
https://hg.mozilla.org/mozilla-central/rev/a61ed4643a77
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
You need to log in before you can comment on or make changes to this bug.