February 15, 2014 [Issue 11021] [GC] Huge GC leak leads to crash; GC uses 7x more memory | ||||
---|---|---|---|---|
| ||||
https://d.puremagic.com/issues/show_bug.cgi?id=11021 safety0ff.bugz <safety0ff.bugz@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |DUPLICATE --- Comment #14 from safety0ff.bugz <safety0ff.bugz@gmail.com> 2014-02-14 21:07:09 PST --- This is due to false pointers as discussed above. Consider the program at the end of this comment: Version = A reproduced the claim. Version !=A uses ~80MiB because of the lower probability of false pointers. ---------- Begin code ----------- import core.memory; import std.traits; void main() { while(true) { GC.collect(); version(A) auto tmp = cast(ubyte*)GC.malloc(40*1024*1024, GC.BlkAttr.NO_SCAN); else auto tmp = cast(ubyte*)GC.malloc(40*1024*1024, GC.BlkAttr.NO_SCAN | GC.BlkAttr.NO_INTERIOR); for (uint i = 0; i < 40*1024*1024; i+= 1024) tmp[i] = 0; // poke the memory tmp = null; } } ---------- End code ----------- *** This issue has been marked as a duplicate of issue 3463 *** -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation