Closed Bug 1611174 Opened 4 years ago Closed 4 years ago

Clear roots related to weak references earlier in shutdown

Categories

(Core :: JavaScript: GC, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla74
Tracking Status
firefox74 --- fixed

People

(Reporter: jonco, Assigned: jonco)

Details

Attachments

(1 file)

There are two kinds of engine roots that are related to weak references: kept objects and finalization group records. Both of these can entrain data that is external to the engine (unlike e.g. the atoms table which cannot).

These roots are currently cleared by GCRuntime::finishRoots which is called just before the final shutdown GC when the runtime is being destroyed. This means that any external data kept alive by them will be reported as leaked by the browser.

Instead, we should clear these as soon as we do the first shutdown GC. No JS runs after this point so this will not be observable.

Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ff917001373e
Clear roots related to weak references earlier in shutdown to prevent browser leaks r=sfink
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: