New issue
Advanced search Search tips

Issue 812277 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Figure out why LSan doesn't treat LazyInstance and NoDestructor as GC roots

Project Member Reported by dcheng@chromium.org, Feb 14 2018

Issue description

For LazyInstance, this was worked around by using a scoped leak disabler. For NoDestructor, the workaround is to conditionally compile a field pointer T* pointing at the placement-new'd buffer, so that LSan can trace into the buffer.

It would be nice not to need these workarounds; from kcc's replies on the discussion thread, it seems like LSan is supposed to treat the object as a bag of bytes. So we should understand why that isn't happening.

(I'm not sure what component this should go under, but tagging it with Stability-Memory-AddressSanitizer which looks sort of related)
 
Labels: Stability-Memory-LeakSanitizer

Sign in to add a comment