DescriptionLend LSan a hand and clear out singleton static persistents first.
To prepare for LSan's determination of leaking objects, the main thread
will GC its heap, finalizing objects with references to off-heap ones.
This must also encompass heap objects that are held onto by static
persistents, so we arrange for all of those singletons to be released.
Releasing the static persistents leaves them in an invalid, null state,
so any object that becomes garbage by the release of a static persistent
must not attempt to access any of these singletons while being subsequently
finalized. This is a restriction that's hard to work around should it
turn out to strike, so instead the singletons are attempted cleared
first. That will make the objects they retain eligible for garbage
collection (and finalization) earlier, avoiding the problem of touching
singletons backed by (now-released) persistent references.
R=
BUG=677684
Patch Set 1 #
Total comments: 2
Patch Set 2 : experiment: disable LSan-GCing during shutdown.. #
Messages
Total messages: 12 (6 generated)
|