qsem001 segfaults with +RTS -N2 -DS
Currently the qsem001
test segfaults if compiled with -threaded -debug
and run with +RTS -N2 -DS
. Specifically,
PID: 1217929 (qsem001)
UID: 1000 (ben)
GID: 100 (users)
Signal: 11 (SEGV)
Timestamp: Thu 2023-01-26 19:10:03 EST (8s ago)
Command Line: libraries/base/tests/qsem001 +RTS -DS -N2
Executable: /opt/exp/ghc/ghc-landing/libraries/base/tests/qsem001
Control Group: /user.slice/user-1000.slice/session-2.scope
Unit: session-2.scope
Slice: user-1000.slice
Session: 2
Owner UID: 1000 (ben)
Boot ID: 176ebad710f94ce1b6afd9fd071061a0
Machine ID: f6b9c6c2b1384caa82e0cd4ea06e3ef5
Hostname: ben-laptop
Storage: /var/lib/systemd/coredump/core.qsem001.1000.176ebad710f94ce1b6afd9fd071061a0.1217929.1674778203000000.zst (present)
Disk Size: 672.5K
Message: Process 1217929 (qsem001) of user 1000 dumped core.
Module linux-vdso.so.1 with build-id 06289f6fb1d8c6240a3472507322d1d4a946f3a8
Module libpthread.so.0 with build-id bff749b993405063a72406b65328ce34b1d20b2b
Module libbz2.so.1 without build-id.
Module liblzma.so.5 without build-id.
Module libzstd.so.1 without build-id.
Module libz.so.1 without build-id.
Module ld-linux-x86-64.so.2 with build-id 2d4e3d041d24aa7a72377e8cc41e9336abd77ffb
Module libnuma.so.1 without build-id.
Module libdw.so.1 with build-id cedfd39f84f4254c1189a8b1acd339a697362200
Module libelf.so.1 with build-id 1c721165507bfd8c68dc8ed35ff2e73518f60eff
Module libdl.so.2 with build-id a4bfa88c56b19d9a13f5191cfe661e9b9f32140a
Module librt.so.1 with build-id 81dcc5b293a378ea5ee6ff8ba1e67b8f55381439
Module libc.so.6 with build-id c512f38583c48b03cc0011d4583d15cea2e94d03
Module libgmp.so.10 without build-id.
Module libm.so.6 with build-id ab70ae196025b3056f0fc0ed85a43390cda0ea4a
Module qsem001 without build-id.
Stack trace of thread 1217929:
#0 0x00000000007899f3 LOOKS_LIKE_INFO_PTR_NOT_NULL (qsem001 + 0x3899f3)
#1 0x0000000000789a42 LOOKS_LIKE_INFO_PTR (qsem001 + 0x389a42)
#2 0x0000000000789a82 LOOKS_LIKE_CLOSURE_PTR (qsem001 + 0x389a82)
#3 0x00000000007c07a3 checkTSO (qsem001 + 0x3c07a3)
#4 0x00000000007bfe8b checkClosure (qsem001 + 0x3bfe8b)
#5 0x00000000007c0108 checkHeapChain (qsem001 + 0x3c0108)
#6 0x00000000007c0fea checkGeneration (qsem001 + 0x3c0fea)
#7 0x00000000007c10e3 checkFullHeap (qsem001 + 0x3c10e3)
#8 0x00000000007c115d checkSanity (qsem001 + 0x3c115d)
#9 0x00000000007b13b0 GarbageCollect (qsem001 + 0x3b13b0)
#10 0x0000000000799e73 scheduleDoGC (qsem001 + 0x399e73)
#11 0x0000000000797f56 schedule (qsem001 + 0x397f56)
#12 0x000000000079b07e scheduleWaitThread (qsem001 + 0x39b07e)
#13 0x000000000078d844 rts_evalLazyIO (qsem001 + 0x38d844)
#14 0x0000000000791c82 hs_main (qsem001 + 0x391c82)
#15 0x0000000000408aca main (qsem001 + 0x8aca)
#16 0x00007fcc14712237 __libc_start_call_main (libc.so.6 + 0x29237)
#17 0x00007fcc147122f5 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x292f5)
#18 0x0000000000407031 _start (qsem001 + 0x7031)
Stack trace of thread 1217932:
#0 0x00007fcc147f12cf epoll_wait (libc.so.6 + 0x1082cf)
#1 0x00000000006cf096 base_GHCziEventziEPoll_new10_info (qsem001 + 0x2cf096)
ELF object binary architecture: AMD x86-64
...
Core was generated by `libraries/base/tests/qsem001 +RTS -DS -N2'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00000000007899f3 in LOOKS_LIKE_INFO_PTR_NOT_NULL (p=12297829382473034410) at rts/include/rts/storage/ClosureMacros.h:277
277 return info->type != INVALID_OBJECT && info->type < N_CLOSURE_TYPES;
[Current thread is 1 (LWP 1217929)]
>>> print p
$1 = 12297829382473034410
>>> x/8a p
0xaaaaaaaaaaaaaaaa: Cannot access memory at address 0xaaaaaaaaaaaaaaaa