February 26, 2020
https://issues.dlang.org/show_bug.cgi?id=20615

          Issue ID: 20615
           Summary: GC spinlock crash
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: major
          Priority: P1
         Component: druntime
          Assignee: nobody@puremagic.com
          Reporter: mrsmith33@yandex.ru

Thread 2 received signal SIGSEGV, Segmentation fault.
(gdb) backtrace

#0  0x00007ffff7ddf242 in do_lookup_x (
    undef_name=undef_name@entry=0x7ffff7678b0f
"_D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi0TmZQBmFNaNbNiNfKOxmZm",
new_hash=new_hash@entry=447189232,
    old_hash=old_hash@entry=0x7ffff7fe2080, ref=0x7ffff74feda0,
    result=result@entry=0x7ffff7fe2090, scope=0x7ffff7ffe428, i=0, version=0x0,
flags=5,
    skip=0x0, type_class=1, undef_map=0x7ffff7ff6000) at dl-lookup.c:338
#1  0x00007ffff7de01ef in _dl_lookup_symbol_x (
    undef_name=0x7ffff7678b0f
"_D4core6atomic__T10atomicLoadVEQBdQBb11MemoryOrderi0TmZQBmFNaNbNiNfKOxmZm",
undef_map=0x7ffff7ff6000, ref=ref@entry=0x7ffff7fe2128,
    symbol_scope=0x7ffff7ff6358, version=0x0, type_class=type_class@entry=1,
flags=5,
    skip_map=<optimized out>) at dl-lookup.c:813
#2  0x00007ffff7de4ec3 in _dl_fixup (l=<optimized out>, reloc_arg=<optimized
out>)
    at ../elf/dl-runtime.c:112
#3  0x00007ffff7dec70a in _dl_runtime_resolve_xsave ()
    at ../sysdeps/x86_64/dl-trampoline.h:125
#4  0x00007ffff79c9755 in core.internal.spinlock.SpinLock.lock() shared ()
   from /home/user/dlang/dmd-2.087.1/linux/lib64/libphobos2.so.0.87
#5  0x00007ffff79d7209 in
_D2gc4impl12conservativeQw3Gcx__T11ToScanStackTSQBuQBuQBsQCdQBi__T9ScanRangeVbi0ZQpZQBz9popLockedMFNbNiKQCfZb
()
   from /home/user/dlang/dmd-2.087.1/linux/lib64/libphobos2.so.0.87
#6  0x00007ffff79da240 in
_D2gc4impl12conservativeQw3Gcx__T4markVbi0Vbi1ZQoMFNbNlSQCcQCcQCaQClQBq__T9ScanRangeVbi0ZQpZv
()
   from /home/user/dlang/dmd-2.087.1/linux/lib64/libphobos2.so.0.87
#7  0x00007ffff79da5ac in
_D2gc4impl12conservativeQw3Gcx__T21pullFromScanStackImplVbi0ZQBcMFNbZv () from
/home/user/dlang/dmd-2.087.1/linux/lib64/libphobos2.so.0.87
#8  0x00007ffff79d4a39 in _D2gc4impl12conservativeQw3Gcx14scanBackgroundMFNbZv
()
   from /home/user/dlang/dmd-2.087.1/linux/lib64/libphobos2.so.0.87
#9  0x00007ffff79c1acf in
_D4core6thread20createLowLevelThreadFNbNiDFNbZvkDFNbZvZ20thread_lowlevelEntryUNbPvZQd
() from /home/user/dlang/dmd-2.087.1/linux/lib64/libphobos2.so.0.87
#10 0x00007ffff72776db in start_thread (arg=0x7ffff7fe5700) at
pthread_create.c:463
#11 0x00007ffff65de88f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Happens while running lots of unittests at random moments, sometimes it doesn't crash at all.

--