www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 23350] New: Nondeterministic test failure in std.concurrency

https://issues.dlang.org/show_bug.cgi?id=23350

          Issue ID: 23350
           Summary: Nondeterministic test failure in std.concurrency
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P1
         Component: phobos
          Assignee: nobody puremagic.com
          Reporter: snarwin+bugzilla gmail.com

std.concurrency's test suite will sometimes fail due to a segfault in a static
module destructor. [1]

So far, this failure has been observed on 64-bit Linux, and resulted in the
following stack trace (demangled):

---
generated/linux/release/64/unittest/libphobos2-ut.so(extern (C) nothrow  nogc
void core.runtime.runModuleUnitTests().unittestSegvHandler(int,
core.sys.posix.signal.siginfo_t*, void*)+0x2d)[0x7f7bf0cc19c1]
/lib/x86_64-linux-gnu/libc.so.6(+0x354c0)[0x7f7bec8334c0]
generated/linux/release/64/unittest/libphobos2-ut.so(nothrow ref  property
std.concurrency.ThreadInfo std.concurrency.thisInfo()+0x22)[0x7f7bef4f1ede]
generated/linux/release/64/unittest/libphobos2-ut.so(void
std.concurrency._staticDtor_L266_C1()+0x9)[0x7f7bef4f1ef1]
generated/linux/release/64/unittest/libphobos2-ut.so(void
std.concurrency.__moddtor()+0x9)[0x7f7bef530641]
generated/linux/release/64/unittest/libphobos2-ut.so(void
rt.minfo.runModuleFuncsRev!(rt.minfo.ModuleGroup.runTlsDtors().__lambda1).runModuleFuncsRev(const(immutable(object.ModuleInfo)*)[])+0x46)[0x7f7bf0d05132]
generated/linux/release/64/unittest/libphobos2-ut.so(void
rt.minfo.ModuleGroup.runTlsDtors()+0x21)[0x7f7bf0d04b1d]
generated/linux/release/64/unittest/libphobos2-ut.so(int
rt.minfo.rt_moduleTlsDtor().__foreachbody1(ref
rt.sections_elf_shared.DSO)+0x1d)[0x7f7bf0d04ed9]
generated/linux/release/64/unittest/libphobos2-ut.so(int
rt.sections_elf_shared.DSO.opApplyReverse(scope int delegate(ref
rt.sections_elf_shared.DSO))+0x6a)[0x7f7bf0d0681e]
generated/linux/release/64/unittest/libphobos2-ut.so(rt_moduleTlsDtor+0x15)[0x7f7bf0d04eb9]
generated/linux/release/64/unittest/libphobos2-ut.so(thread_entryPoint+0x1c4)[0x7f7bf0cf432c]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f7bec3e46ba]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f7bec90551d]
---

[1] https://github.com/dlang/phobos/blob/v2.100.2/std/concurrency.d#L266-L269

--
Sep 20 2022