Issues with debugging GC-related crashes #2

Johannes Pfau nospam at example.com
Wed Apr 18 20:36:03 UTC 2018


Am Wed, 18 Apr 2018 17:40:56 +0000 schrieb Matthias Klumpp:
> 
> The crashes always appear in
> https://github.com/dlang/druntime/blob/master/src/gc/impl/conservative/
gc.d#L1990
> 

The important point to note here is that this is not one of these 'GC 
collected something because it was not reachable' bugs. A crash in the GC 
mark routine means it somehow scans an invalid address range. Actually, 
I've seen this before...


> Meanwhile, I also tried to reproduce the crash locally in a chroot, with
> no result. All libraries used between the machine where the crashes
> occur and my local machine were 100% identical,
> the only differences I am aware of are obviously the hardware (AWS cloud
> vs. home workstation) and the Linux kernel (4.4.0 vs 4.15.0)
> 
> The crash happens when built with LDC or DMD, that doesn't influence the
> result. Copying over a binary from the working machine to the crashing
> one also results in the same errors.


Actually this sounds very familiar:
https://github.com/D-Programming-GDC/GDC/pull/236

it took us quite some time to reduce and debug this:

https://github.com/D-Programming-GDC/GDC/pull/236/commits/
5021b8d031fcacac52ee43d83508a5d2856606cd

So I wondered why I couldn't find this in the upstream druntime code. 
Turns out our pull request has never been merged....

https://github.com/dlang/druntime/pull/1678


-- 
Johannes


More information about the Digitalmars-d mailing list