[Issue 22687] New: GC Leak Detector is not freeing all addresses

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Jan 18 15:56:37 UTC 2022


https://issues.dlang.org/show_bug.cgi?id=22687

          Issue ID: 22687
           Summary: GC Leak Detector is not freeing all addresses
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: minor
          Priority: P1
         Component: druntime
          Assignee: nobody at puremagic.com
          Reporter: muhammed.yucel at bosagora.io

Malloc logging is called per object basis but free logging depends on debug
flags to work per object basis. It reports freeing per page basis, thus there
are some non-freed addresses remaining in logger even those are freed. Since
log_malloc doesn't check for double allocations on the same address as in the
log_free which checks double frees; this got missed.

Following line should be executed for Leak Detector even no debug flags are
provided. 
https://github.com/dlang/druntime/blob/fb5494278058e2f44033b557b6f4202402f36f04/src/core/internal/gc/impl/conservative/gc.d#L2759

--


More information about the Digitalmars-d-bugs mailing list