bdwgc
bdwgc copied to clipboard
Unexpected segmentation fault in gctest incremental mode on Linux sparc64 and s390x
Host: Linux/sparc64 (UltraSparc T5 (Niagara5), 64 threads) Source: master (86278a3d) Occurrence: rare How to: ./configure && make -j check CFLAGS_EXTRA="-O3 -march=native"
Output (gctest): Switched to incremental mode Emulating dirty bits with mprotect/signals Unexpected segmentation fault outside heap at (nil)
Source: master (56d79d8c4) Host: Linux 5.18.0-3-sparc64-smp (Debian) (gcc102 host)
How to build: configure --enable-werror --enable-gc-assertions && make -j check Occurrence: ~1/10 Output gctest: Switched to incremental mode Emulating dirty bits with mprotect/signals Unexpected segmentation fault outside heap at (nil)
#2 0xffff8001009b77d0 in __GI_abort () at abort.c:79
#3 0xffff800100357f84 in GC_write_fault_handler (sig=<optimized out>, si=0xffff800109cc23a0, raw_sc=<optimized out>) at extra/../os_dep.c:3327
#4 <signal handler called>
#5 0xffff8001003759f8 in GC_malloc_kind (bytes=<optimized out>, kind=<optimized out>) at extra/../thread_local_alloc.c:188
#6 0x0000010000007b78 in run_one_test () at tests/gctest.c:1585
#7 0x00000100000083ec in thr_run_one_test (arg=0x0) at tests/gctest.c:2406
#8 0xffff80010037991c in GC_inner_start_routine (sb=0xffff800109cc2cd8, arg=0x7feffed2d20) at pthread_start.c:57
#9 0xffff80010035c234 in GC_call_with_stack_base (fn=0xffff8001003798b0 <GC_inner_start_routine>, arg=0x7feffed2d20) at extra/../misc.c:2172
#10 0xffff80010058f494 in start_thread (arg=0xffff800109cc3870) at pthread_create.c:481
(gdb) info thr
Id Target Id Frame
* 1 Thread 0xffff800109cc3870 (LWP 2767951) 0xffff8001009ced3c in __libc_signal_restore_set (set=0xffff800109cc1f58) at ../sysdeps/unix/sysv/linux/internal-signals.h:105
2 Thread 0xffff8001014a1870 (LWP 2767866) 0xffff80010059d890 in __futex_abstimed_wait_common64 (futex_word=0xffff800100546144 <mark_cv+44>, expected=<optimized out>, clockid=<optimized out>, abstime=0x0, private=<optimized out>, cancel=<optimized out>) at ../sysdeps/nptl/futex-internal.c:74
3 Thread 0xffff80010002ad00 (LWP 2767201) 0xffff8001003576bc in GC_free (p=0xffff800100080f60) at extra/../malloc.c:613
4 Thread 0xffff800101ca3870 (LWP 2767867) 0xffff80010059d890 in __futex_abstimed_wait_common64 (futex_word=0xffff800100546144 <mark_cv+44>, expected=<optimized out>, clockid=<optimized out>, abstime=0x0, private=<optimized out>, cancel=<optimized out>) at ../sysdeps/nptl/futex-internal.c:74
...
17 Thread 0xffff8001084bd870 (LWP 2767936) 0xffff80010059d890 in __futex_abstimed_wait_common64 (futex_word=0xffff800100546144 <mark_cv+44>, expected=<optimized out>, clockid=<optimized out>, abstime=0x0, private=<optimized out>, cancel=<optimized out>) at ../sysdeps/nptl/futex-internal.c:74
18 Thread 0xffff800108cbf870 (LWP 2767939) 0xffff800100a4e1e0 in __GI___wait4 (pid=<optimized out>, stat_loc=0xffff800108cbe824, options=<optimized out>, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30
19 Thread 0xffff8001094c1870 (LWP 2767950) 0xffff800100a4e1e0 in __GI___wait4 (pid=<optimized out>, stat_loc=0xffff8001094c0824, options=<optimized out>, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30
20 Thread 0xffff80010a4c5870 (LWP 2767957) 0xffff80010059a278 in futex_wait (private=0, expected=2, futex_word=0xffff800100584100 <GC_allocate_ml>) at ../sysdeps/nptl/futex-internal.h:146
21 Thread 0xffff80010acc7870 (LWP 2767961) 0xffff800100a4e1e0 in __GI___wait4 (pid=<optimized out>, stat_loc=0xffff80010acc6824, options=<optimized out>, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30