<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 1 December 2015 at 09:46, Iain Buclaw <span dir="ltr"><<a href="mailto:ibuclaw@gdcproject.org" target="_blank">ibuclaw@gdcproject.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><br></div>Where:<br><br>*(cast(List*)p) = {next = 0x4c9fad <__gdc_exception_cleanup>, pool = 0x0}<br><br></div>Not sure what is going on, but it seems to happen after allocating memory a couple dozen or so times.<br><br></div>David, did you get anything like this when moving to 2.067?<br><br></div>
</blockquote></div><br></div><div class="gmail_extra">I removed the line in EH where `__gdc_exception_cleanup` is assigned (xh is GC'd memory)<br><br>221│   //xh.unwindHeader.exception_cleanup = & __gdc_exception_cleanup;<br><br><br></div><div class="gmail_extra">The unittester carries on a little longer until it seg faults here.<br><br>1796│         // Return next item from free list<br>1797│         bucket[bin] = (cast(List*)p).next;<br>1798│         auto pool = (cast(List*)p).pool;<br>1799│         if (bits)<br>1800├>            pool.setBits((p - pool.baseAddr) >> pool.shiftBy, bits);<br><br></div><div class="gmail_extra">Where:<br><br>*cast(List*)p = {next = 0xa, pool = 0x0}<br><br><br></div><div class="gmail_extra">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).<br><br><br></div></div>