GC buckets in 2.067
Iain Buclaw via Digitalmars-d
digitalmars-d at puremagic.com
Tue Dec 1 07:39:11 PST 2015
On 1 December 2015 at 09:46, Iain Buclaw <ibuclaw at gdcproject.org> wrote:
>
> Where:
>
> *(cast(List*)p) = {next = 0x4c9fad <__gdc_exception_cleanup>, pool = 0x0}
>
> Not sure what is going on, but it seems to happen after allocating memory
> a couple dozen or so times.
>
> David, did you get anything like this when moving to 2.067?
>
>
I removed the line in EH where `__gdc_exception_cleanup` is assigned (xh is
GC'd memory)
221│ //xh.unwindHeader.exception_cleanup = & __gdc_exception_cleanup;
The unittester carries on a little longer until it seg faults here.
1796│ // Return next item from free list
1797│ bucket[bin] = (cast(List*)p).next;
1798│ auto pool = (cast(List*)p).pool;
1799│ if (bits)
1800├> pool.setBits((p - pool.baseAddr) >> pool.shiftBy, bits);
Where:
*cast(List*)p = {next = 0xa, pool = 0x0}
Martin - you've been making changes to the GC no? Any idea why the bucket
list could be storing garbage pointers? Any hints to narrow this down? (I
could turn on memory stomping).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20151201/6e0e7ee2/attachment.html>
More information about the Digitalmars-d
mailing list