[Issue 12915] New: RedBlackTree leaks memory
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Fri Jun 13 11:33:57 PDT 2014
https://issues.dlang.org/show_bug.cgi?id=12915
Issue ID: 12915
Summary: RedBlackTree leaks memory
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P1
Component: Phobos
Assignee: schveiguy at yahoo.com
Reporter: code at dawg.eu
We found this problem in a druntime GC benchmark.
https://github.com/D-Programming-Language/druntime/pull/818#issuecomment-46001787
It seems like the compiler inlines some functions and therefor a false pointer
to a stale node remains in a register or on the stack. Furthermore every
previously allocated node is referenced from that pointer.
I could resolve the issue by nulling _left, _right and _parent at the end of
Node.remove
(https://github.com/D-Programming-Language/phobos/blob/bb4f8e876b6278ad3b18d3ebb2f6597757b782f2/std/container.d#L5245),
but I don't understand enough of the implementation to be sure that this
doesn't break anything.
--
More information about the Digitalmars-d-bugs
mailing list