ldc
ldc copied to clipboard
SEGFAULT in druntime-test-thread/external_threads on aarch64-musl
Tested with ldc 1.20.1.
With the patch you've mentioned most tests (other than math things, as expected) work now. One notable exception is the external_threads test, see the backtrace:
#0 0x0000aaaaaaac5da8 in _D2rt4util9container5array__T5ArrayTAvZQk6lengthMFNbNdNimZv ()
#1 0x0000aaaaaaac53e8 in rt.tlsgc.destroy(void*) ()
#2 0x0000aaaaaaaba7ec in core.thread.osthread.Thread.~this() ()
#3 0x0000aaaaaaac0ec0 in rt_finalize2 ()
#4 0x0000aaaaaaad315c in _D2gc4impl12conservativeQw3Gcx5sweepMFNbZm ()
#5 0x0000aaaaaaad0218 in _D2gc4impl12conservativeQw3Gcx11fullcollectMFNbbZm ()
#6 0x0000aaaaaaad049c in _D2gc4impl12conservativeQw14ConservativeGC__T9runLockedS_DQCeQCeQCcQCnQBs18fullCollectNoStackMFNbZ2goFNbPSQEaQEaQDyQEj3GcxZmTQvZQDfMFNbKQBgZm ()
#7 0x0000aaaaaaabbfe0 in gc_term ()
#8 0x0000aaaaaaabef64 in rt_term ()
#9 0x0000aaaaaaabf344 in _D2rt6dmain212_d_run_main2UAAamPUQgZiZ6runAllMFZv ()
#10 0x0000aaaaaaabf21c in _d_run_main2 ()
#11 0x0000aaaaaaabf0b8 in _d_run_main ()
#12 0x0000fffff7f70778 in libc_start_main_stage2 (main=0xaaaaaaaba500 <main>, argc=1, argv=0xfffffffffb88) at src/env/__libc_start_main.c:94
#13 0x0000000000000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
I think this was fixed by https://github.com/dlang/druntime/pull/3308 I'll confirm once the Alpine package has been upgraded to v1.25.0.
FYI: It still remains in v1.36.0. See: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/61217
Possibly fixed by https://github.com/ldc-developers/ldc/pull/4648
or https://github.com/ldc-developers/ldc/pull/3332
I confirmed this was fixed in ldc 1.39.0.
- https://gitlab.alpinelinux.org/tom-tan/aports/-/jobs/1446808#L4858