[Issue 11021] Huge GC leak leads to crash; GC uses 7x more memory
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Sep 13 12:07:31 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11021
--- Comment #9 from monarchdodra at gmail.com 2013-09-13 12:07:28 PDT ---
(In reply to comment #8)
> 32bits? Allocating large blocks in a loop?
> Good luck with that... sooner or later they would be pinned by something that
> looks like a pointer to GC. We are back to false pointers and precise
> collection topic.
>
> How std.traits affects that is interesting thing, maybe inflates executable
> size. Anyway this is game of chance so any slight change may avoid it or bring
> it back.
2 things I don't understand:
1. New initializes, so the block contains nothing but 0x00's. How could that
contain a false pointers? EDIT: Maybe the size/capacity info is wrongly seen as
pointer?
2. Besides, the GC knows about NO_SCAN, doesn't it? We are explicitly asking
for new ubytes, which is a non-pointer type. Why would the GC scan any of that
at all anywas?
If replace the call with GC.malloc(BIG_SIZE, GC.BlkAttr.NO_SCAN), then my win32
runs forever...
--------
TLDR, I don't see how the false pointer issue in 32 bit environment would
produce this failure.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list