crash in mozilla::CycleCollectedJSRuntime::DeferredFinalize(nsISupports*)
Categories
(Core :: DOM: Core & HTML, defect, P5)
Tracking
()
People
(Reporter: drno, Unassigned)
References
()
Details
(Keywords: crash)
Crash Data
Updated•10 years ago
|
Updated•10 years ago
|
Comment 2•9 years ago
|
||
Updated•9 years ago
|
Comment 3•9 years ago
|
||
Comment 6•9 years ago
|
||
Comment 7•8 years ago
|
||
Comment 14•7 years ago
|
||
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Comment hidden (offtopic) |
Comment hidden (offtopic) |
Comment hidden (offtopic) |
Comment hidden (offtopic) |
Comment hidden (offtopic) |
Updated•2 years ago
|
Updated•2 years ago
|
Comment 22•1 year ago
|
||
Copying crash signatures from duplicate bugs.
Updated•1 year ago
|
Comment 23•1 year ago
|
||
The PopLastN signatures should turn into [@ mozilla::SegmentedVector<T>::PopLastN | mozilla::dom::DeferredFinalizerImpl<T>::DeferredFinalize ] once the signature updates get deployed.
Comment 24•1 year ago
|
||
I think the ReleaseObjects crashes are part of the same...
Comment 25•10 months ago
|
||
Should this be moved to the Cycle Collector component?
Comment 26•10 months ago
|
||
No, DOM is the right component. Deferred finalization is related to the way DOM objects exposed to JS interact with the JS garbage collector, not the cycle collector. (CycleCollectedJSRuntime should probably be renamed something like GeckoJSRuntime, as there is now a lot of extra browser stuff tacked on, not just cycle collection.)
Comment 27•10 months ago
|
||
To expand on that, the idea of the deferred finalizer is that when a JS reflector object is destroyed by the JS GC, that can cause the last release of a C++ object, which would cause us to destroy the object and run the destructor. C++ destructors can do all sorts of weird things, and the JS GC is a somewhat sanitized environment, so instead of running the final release during the GC finalization process, we stick strong references on a runnable and wait until after the GC is over to do the releases.
Description
•