Problem with GC and address/leak sanitizer

Johan j at j.nl
Tue Feb 18 18:05:41 UTC 2025


On Monday, 17 February 2025 at 21:56:29 UTC, Luís Marques wrote:
> On Sunday, 16 February 2025 at 22:40:58 UTC, Luís Marques wrote:
>> On Sunday, 16 February 2025 at 22:06:37 UTC, Johan wrote:
>>> This used to work, but somehow does not work anymore since 
>>> LDC 2.100 (I perhaps have forgotten about this and just 
>>> noticed it). [2]
>>>
>>> You are very welcome to help investigate why it is no longer 
>>> working!
>>
>> Sure, I'll have a look. Thanks.
>
> I don't think this broke with the D 2.100. For instance, LDC 
> 1.29.0 is based on 2.099.1 and exhibits the same problem. Even 
> older LDC versions don't trip on this exact program but they do 
> output AddressSanitizer CHECK failures.
>
> ```
> ==4108825==AddressSanitizer CHECK failed: 
> /home/vsts/work/1/s/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:556 "((*tls_addr + *tls_size)) <= ((*stk_addr + *stk_size))" (0x78927e371080, 0x78927e371000)
> ```
>
> I'll need some time to dig through the IR, the GC, etc.

It is likely related to LLVM version. Did you already check that? 
Possibly a subtle change in API.

> If you are going to look at this, please let me know, to avoid 
> duplicate efforts.

Not soon, no.

-Johan


More information about the Digitalmars-d mailing list