GC issue? List.pool overwritten by allocated object
Richard (Rikki) Andrew Cattermole
richard at cattermole.co.nz
Mon May 12 18:27:33 UTC 2025
On 13/05/2025 6:22 AM, Denis Feklushkin wrote:
> Try using ldc's address sanitizer to see if that finds something.
>
> Nothing, sanitizer only highlights point where is pointer to pool is broken:
>
>
> AddressSanitizer:DEADLYSIGNAL
>
> ==36969==ERROR: AddressSanitizer: SEGV on unknown address 0x000100000006
> (pc 0x55c3ba20eac3 bp 0x523000005500 sp 0x7ffd7cb0fcf0 T0) ==36969==The
> signal is caused by a READ memory access. #0 0x55c3ba20eac3 in
> _D4core8internal2gc4impl12conservativeQw3Gcx10smallAllocMFNbmKmkxC8TypeInfoZPv (/home/denizzz/Dev/pukan3D/pukan+0x33fac3) (BuildId: 25246214f82ed318a32cc136c8e965179f4dcad3)
>
> 0x000100000006 is garbage value, placed by wrong allocation at
> swapchain.d:92: s = new SyncFramesInFlight(device, commandBuffers[i]);
> (if used debug configuration described in origin message):
This is useful information, now you can minify your code to what causes it.
I suggest throwing dustmite at it, and looking for that segfault.
https://github.com/CyberShadow/DustMite
More information about the Digitalmars-d
mailing list