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