Hello,
> The most useful information here is likely to be a stack trace from
> each OS-level thread at the point where the application is stuck.
>
would this be enough to open an issue for that?
(gdb) info threads
Id Target Id Frame
* 1 Thread 0x7ffff7c1b300 (LWP 19075) "tut22.rkt"
mark_backpointers (gc=gc@entry=0x5555559d10c0) at
../../../racket/gc2/newgc.c:4078
2 Thread 0x7ffff7fcb700 (LWP 19076) "tut22.rkt"
futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559d7d78)
at ../sysdeps/unix/sysv/linux/futex-internal.h:80
3 Thread 0x7fffe65a6700 (LWP 19077) "gmain"
0x00007ffff7d34c2f in __GI___poll (fds=0x555555b82520, nfds=2,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
4 Thread 0x7fffe5da5700 (LWP 19078) "gdbus"
0x00007ffff7d34c2f in __GI___poll (fds=0x555555b94ce0, nfds=3,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
7 Thread 0x7fffd77fe700 (LWP 19082) "dconf worker"
0x00007ffff7d34c2f in __GI___poll (fds=0x555555e9e5e0, nfds=1,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
8 Thread 0x7fffe40d4800 (LWP 19083) "tut22.rkt"
futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c)
at ../sysdeps/unix/sysv/linux/futex-internal.h:80
9 Thread 0x7fffd4602800 (LWP 19084) "tut22.rkt"
futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c)
at ../sysdeps/unix/sysv/linux/futex-internal.h:80
10 Thread 0x7fffd4586800 (LWP 19085) "tut22.rkt"
futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c)
at ../sysdeps/unix/sysv/linux/futex-internal.h:80
11 Thread 0x7fffd450a800 (LWP 19086) "tut22.rkt"
futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c)
at ../sysdeps/unix/sysv/linux/futex-internal.h:80
12 Thread 0x7fffd448e800 (LWP 19087) "tut22.rkt"
futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c)
at ../sysdeps/unix/sysv/linux/futex-internal.h:80
13 Thread 0x7fffd4412800 (LWP 19088) "tut22.rkt"
futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c)
at ../sysdeps/unix/sysv/linux/futex-internal.h:80
14 Thread 0x7fffd4396800 (LWP 19089) "tut22.rkt"
futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c)
at ../sysdeps/unix/sysv/linux/futex-internal.h:80
15 Thread 0x7fffd431a800 (LWP 19090) "tut22.rkt"
futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c)
at ../sysdeps/unix/sysv/linux/futex-internal.h:80
16 Thread 0x7ffff65b2800 (LWP 21691) "tut22.rkt"
futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c4998)
at ../sysdeps/unix/sysv/linux/futex-internal.h:80
(gdb) bt
#0 0x00005555557f5064 in mark_backpointers (gc=gc@entry=0x5555559d10c0)
at ../../../racket/gc2/newgc.c:4078
#1 0x00005555557edb2b in garbage_collect (gc=gc@entry=0x5555559d10c0,
force_full=force_full@entry=0, no_full=no_full@entry=0,
switching_master=switching_master@entry=0, lmi=lmi@entry=0x0)
at ../../../racket/gc2/newgc.c:5646
#2 0x00005555557f0ff2 in collect_now (nomajor=<optimized out>,
major=<optimized out>, gc=<optimized out>) at
../../../racket/gc2/newgc.c:875
#3 0x00005555557f0ff2 in collect_now (gc=0x5555559d10c0, major=0,
nomajor=0) at ../../../racket/gc2/newgc.c:855
#4 0x00005555557f9124 in allocate_slowpath (newptr=<optimized out>,
allocate_size=<optimized out>, gc=<optimized out>) at
../../../racket/gc2/newgc.c:1607
#5 0x00005555557f9124 in allocate (type=1, request_size=<optimized
out>) at ../../../racket/gc2/newgc.c:1671
#6 0x00005555557f9124 in allocate (type=<optimized out>,
request_size=<optimized out>) at ../../../racket/gc2/newgc.c:1636
#7 0x00005555557f9124 in GC_malloc_atomic (s=<optimized out>) at
../../../racket/gc2/newgc.c:1792
#8 0x00005555557f9124 in GC_malloc_atomic (s=<optimized out>) at
../../../racket/gc2/newgc.c:1792
#9 0x0000555555605406 in prepare_retry_alloc (p2=<optimized out>,
p=<optimized out>) at ../../../racket/gc2/../src/jitalloc.c:47
#10 0x0000555555605406 in ts_prepare_retry_alloc (p=<optimized out>,
p2=<optimized out>) at ../../../racket/gc2/../src/jitalloc.c:73
#11 0x00007ffff7fbe62b in ()
#12 0x0000000000000000 in ()
(gdb) thread 2
[Switching to thread 2 (Thread 0x7ffff7fcb700 (LWP 19076))]
#0 futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559d7d78) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
80 ../sysdeps/unix/sysv/linux/futex-internal.h: No such file or directory.
(gdb) bt
#0 0x00007ffff7e202c6 in futex_wait_cancelable (private=<optimized
out>, expected=0, futex_word=0x5555559d7d78) at
../sysdeps/unix/sysv/linux/futex-internal.h:80
#1 0x00007ffff7e202c6 in __pthread_cond_wait_common (abstime=0x0,
clockid=0, mutex=0x5555559d7d28, cond=0x5555559d7d50) at
pthread_cond_wait.c:508
#2 0x00007ffff7e202c6 in __pthread_cond_wait
(cond=cond@entry=0x5555559d7d50, mutex=mutex@entry=0x5555559d7d28) at
pthread_cond_wait.c:638
#3 0x00005555557209fe in green_thread_timer
(data=data@entry=0x5555559d7d10) at ../../../racket/gc2/../src/port.c:6659
#4 0x00005555556bb8be in mzrt_thread_stub (data=0x5555559d7dc0) at
../../../racket/gc2/../src/mzrt.c:91
#5 0x00007ffff7e19669 in start_thread (arg=<optimized out>) at
pthread_create.c:479
#6 0x00007ffff7d41323 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 3
[Switching to thread 3 (Thread 0x7fffe65a6700 (LWP 19077))]
#0 0x00007ffff7d34c2f in __GI___poll (fds=0x555555b82520, nfds=2,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
29 ../sysdeps/unix/sysv/linux/poll.c: No such file or directory.
(gdb) bt
#0 0x00007ffff7d34c2f in __GI___poll (fds=0x555555b82520, nfds=2,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fffe8e4daae in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffe8e4dbe3 in g_main_context_iteration () at
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fffe8e4dc31 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007fffe8e77181 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ffff7e19669 in start_thread (arg=<optimized out>) at
pthread_create.c:479
#6 0x00007ffff7d41323 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 4
[Switching to thread 4 (Thread 0x7fffe5da5700 (LWP 19078))]
#0 0x00007ffff7d34c2f in __GI___poll (fds=0x555555b94ce0, nfds=3,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
29 in ../sysdeps/unix/sysv/linux/poll.c
(gdb) bt
#0 0x00007ffff7d34c2f in __GI___poll (fds=0x555555b94ce0, nfds=3,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fffe8e4daae in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffe8e4de33 in g_main_loop_run () at
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fffe79f08da in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4 0x00007fffe8e77181 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ffff7e19669 in start_thread (arg=<optimized out>) at
pthread_create.c:479
#6 0x00007ffff7d41323 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 7
[Switching to thread 7 (Thread 0x7fffd77fe700 (LWP 19082))]
#0 0x00007ffff7d34c2f in __GI___poll (fds=0x555555e9e5e0, nfds=1,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
29 in ../sysdeps/unix/sysv/linux/poll.c
(gdb) bt
#0 0x00007ffff7d34c2f in __GI___poll (fds=0x555555e9e5e0, nfds=1,
timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fffe8e4daae in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffe8e4dbe3 in g_main_context_iteration () at
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007fffe439c81d in () at
/usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4 0x00007fffe8e77181 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007ffff7e19669 in start_thread (arg=<optimized out>) at
pthread_create.c:479
#6 0x00007ffff7d41323 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 8
[Switching to thread 8 (Thread 0x7fffe40d4800 (LWP 19083))]
#0 futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
80 ../sysdeps/unix/sysv/linux/futex-internal.h: No such file or directory.
(gdb) bt
#0 0x00007ffff7e202c6 in futex_wait_cancelable (private=<optimized
out>, expected=0, futex_word=0x5555559c499c) at
../sysdeps/unix/sysv/linux/futex-internal.h:80
#1 0x00007ffff7e202c6 in __pthread_cond_wait_common (abstime=0x0,
clockid=0, mutex=0x5555559c4948, cond=0x5555559c4970) at
pthread_cond_wait.c:508
#2 0x00007ffff7e202c6 in __pthread_cond_wait
(cond=cond@entry=0x5555559c4970, mutex=mutex@entry=0x5555559c4948) at
pthread_cond_wait.c:638
#3 0x00005555556bbea3 in mzrt_sema_wait (s=0x5555559c4940) at
../../../racket/gc2/../src/mzrt.c:514
#4 0x00005555555d2c56 in worker_thread_future_loop
(arg=arg@entry=0x7fffffffae80) at ../../../racket/gc2/../src/future.c:2246
#5 0x00005555556bb8be in mzrt_thread_stub (data=0x555555edcc70) at
../../../racket/gc2/../src/mzrt.c:91
#6 0x00007ffff7e19669 in start_thread (arg=<optimized out>) at
pthread_create.c:479
#7 0x00007ffff7d41323 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 9
[Switching to thread 9 (Thread 0x7fffd4602800 (LWP 19084))]
#0 futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
80 in ../sysdeps/unix/sysv/linux/futex-internal.h
(gdb) bt
#0 0x00007ffff7e202c6 in futex_wait_cancelable (private=<optimized
out>, expected=0, futex_word=0x5555559c499c) at
../sysdeps/unix/sysv/linux/futex-internal.h:80
#1 0x00007ffff7e202c6 in __pthread_cond_wait_common (abstime=0x0,
clockid=0, mutex=0x5555559c4948, cond=0x5555559c4970) at
pthread_cond_wait.c:508
#2 0x00007ffff7e202c6 in __pthread_cond_wait
(cond=cond@entry=0x5555559c4970, mutex=mutex@entry=0x5555559c4948) at
pthread_cond_wait.c:638
#3 0x00005555556bbea3 in mzrt_sema_wait (s=0x5555559c4940) at
../../../racket/gc2/../src/mzrt.c:514
#4 0x00005555555d2c56 in worker_thread_future_loop
(arg=arg@entry=0x7fffffffae20) at ../../../racket/gc2/../src/future.c:2246
#5 0x00005555556bb8be in mzrt_thread_stub (data=0x555555a5a9a0) at
../../../racket/gc2/../src/mzrt.c:91
#6 0x00007ffff7e19669 in start_thread (arg=<optimized out>) at
pthread_create.c:479
#7 0x00007ffff7d41323 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 10
[Switching to thread 10 (Thread 0x7fffd4586800 (LWP 19085))]
#0 futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
80 in ../sysdeps/unix/sysv/linux/futex-internal.h
(gdb) bt
#0 0x00007ffff7e202c6 in futex_wait_cancelable (private=<optimized
out>, expected=0, futex_word=0x5555559c499c) at
../sysdeps/unix/sysv/linux/futex-internal.h:80
#1 0x00007ffff7e202c6 in __pthread_cond_wait_common (abstime=0x0,
clockid=0, mutex=0x5555559c4948, cond=0x5555559c4970) at
pthread_cond_wait.c:508
#2 0x00007ffff7e202c6 in __pthread_cond_wait
(cond=cond@entry=0x5555559c4970, mutex=mutex@entry=0x5555559c4948) at
pthread_cond_wait.c:638
#3 0x00005555556bbea3 in mzrt_sema_wait (s=0x5555559c4940) at
../../../racket/gc2/../src/mzrt.c:514
#4 0x00005555555d2c56 in worker_thread_future_loop
(arg=arg@entry=0x7fffffffadc0) at ../../../racket/gc2/../src/future.c:2246
#5 0x00005555556bb8be in mzrt_thread_stub (data=0x555555a8ce90) at
../../../racket/gc2/../src/mzrt.c:91
#6 0x00007ffff7e19669 in start_thread (arg=<optimized out>) at
pthread_create.c:479
#7 0x00007ffff7d41323 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 11
[Switching to thread 11 (Thread 0x7fffd450a800 (LWP 19086))]
#0 futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
80 in ../sysdeps/unix/sysv/linux/futex-internal.h
(gdb) bt
#0 0x00007ffff7e202c6 in futex_wait_cancelable (private=<optimized
out>, expected=0, futex_word=0x5555559c499c) at
../sysdeps/unix/sysv/linux/futex-internal.h:80
#1 0x00007ffff7e202c6 in __pthread_cond_wait_common (abstime=0x0,
clockid=0, mutex=0x5555559c4948, cond=0x5555559c4970) at
pthread_cond_wait.c:508
#2 0x00007ffff7e202c6 in __pthread_cond_wait
(cond=cond@entry=0x5555559c4970, mutex=mutex@entry=0x5555559c4948) at
pthread_cond_wait.c:638
#3 0x00005555556bbea3 in mzrt_sema_wait (s=0x5555559c4940) at
../../../racket/gc2/../src/mzrt.c:514
#4 0x00005555555d2c56 in worker_thread_future_loop
(arg=arg@entry=0x7fffffff8fd0) at ../../../racket/gc2/../src/future.c:2246
#5 0x00005555556bb8be in mzrt_thread_stub (data=0x555555ecbb90) at
../../../racket/gc2/../src/mzrt.c:91
#6 0x00007ffff7e19669 in start_thread (arg=<optimized out>) at
pthread_create.c:479
#7 0x00007ffff7d41323 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 12
[Switching to thread 12 (Thread 0x7fffd448e800 (LWP 19087))]
#0 futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
80 in ../sysdeps/unix/sysv/linux/futex-internal.h
(gdb) bt
#0 0x00007ffff7e202c6 in futex_wait_cancelable (private=<optimized
out>, expected=0, futex_word=0x5555559c499c) at
../sysdeps/unix/sysv/linux/futex-internal.h:80
#1 0x00007ffff7e202c6 in __pthread_cond_wait_common (abstime=0x0,
clockid=0, mutex=0x5555559c4948, cond=0x5555559c4970) at
pthread_cond_wait.c:508
#2 0x00007ffff7e202c6 in __pthread_cond_wait
(cond=cond@entry=0x5555559c4970, mutex=mutex@entry=0x5555559c4948) at
pthread_cond_wait.c:638
#3 0x00005555556bbea3 in mzrt_sema_wait (s=0x5555559c4940) at
../../../racket/gc2/../src/mzrt.c:514
#4 0x00005555555d2c56 in worker_thread_future_loop
(arg=arg@entry=0x7fffffffa6e0) at ../../../racket/gc2/../src/future.c:2246
#5 0x00005555556bb8be in mzrt_thread_stub (data=0x555555a11160) at
../../../racket/gc2/../src/mzrt.c:91
#6 0x00007ffff7e19669 in start_thread (arg=<optimized out>) at
pthread_create.c:479
#7 0x00007ffff7d41323 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 13
[Switching to thread 13 (Thread 0x7fffd4412800 (LWP 19088))]
#0 futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
80 in ../sysdeps/unix/sysv/linux/futex-internal.h
(gdb) bt
#0 0x00007ffff7e202c6 in futex_wait_cancelable (private=<optimized
out>, expected=0, futex_word=0x5555559c499c) at
../sysdeps/unix/sysv/linux/futex-internal.h:80
#1 0x00007ffff7e202c6 in __pthread_cond_wait_common (abstime=0x0,
clockid=0, mutex=0x5555559c4948, cond=0x5555559c4970) at
pthread_cond_wait.c:508
#2 0x00007ffff7e202c6 in __pthread_cond_wait
(cond=cond@entry=0x5555559c4970, mutex=mutex@entry=0x5555559c4948) at
pthread_cond_wait.c:638
#3 0x00005555556bbea3 in mzrt_sema_wait (s=0x5555559c4940) at
../../../racket/gc2/../src/mzrt.c:514
#4 0x00005555555d2c56 in worker_thread_future_loop
(arg=arg@entry=0x7fffffffaaf0) at ../../../racket/gc2/../src/future.c:2246
#5 0x00005555556bb8be in mzrt_thread_stub (data=0x555555a120b0) at
../../../racket/gc2/../src/mzrt.c:91
#6 0x00007ffff7e19669 in start_thread (arg=<optimized out>) at
pthread_create.c:479
#7 0x00007ffff7d41323 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 14
[Switching to thread 14 (Thread 0x7fffd4396800 (LWP 19089))]
#0 futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
80 in ../sysdeps/unix/sysv/linux/futex-internal.h
(gdb) bt
#0 0x00007ffff7e202c6 in futex_wait_cancelable (private=<optimized
out>, expected=0, futex_word=0x5555559c499c) at
../sysdeps/unix/sysv/linux/futex-internal.h:80
#1 0x00007ffff7e202c6 in __pthread_cond_wait_common (abstime=0x0,
clockid=0, mutex=0x5555559c4948, cond=0x5555559c4970) at
pthread_cond_wait.c:508
#2 0x00007ffff7e202c6 in __pthread_cond_wait
(cond=cond@entry=0x5555559c4970, mutex=mutex@entry=0x5555559c4948) at
pthread_cond_wait.c:638
#3 0x00005555556bbea3 in mzrt_sema_wait (s=0x5555559c4940) at
../../../racket/gc2/../src/mzrt.c:514
#4 0x00005555555d2c56 in worker_thread_future_loop
(arg=arg@entry=0x7fffffffab50) at ../../../racket/gc2/../src/future.c:2246
#5 0x00005555556bb8be in mzrt_thread_stub (data=0x5555559df7d0) at
../../../racket/gc2/../src/mzrt.c:91
#6 0x00007ffff7e19669 in start_thread (arg=<optimized out>) at
pthread_create.c:479
#7 0x00007ffff7d41323 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 15
[Switching to thread 15 (Thread 0x7fffd431a800 (LWP 19090))]
#0 futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c499c) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
80 in ../sysdeps/unix/sysv/linux/futex-internal.h
(gdb) bt
#0 0x00007ffff7e202c6 in futex_wait_cancelable (private=<optimized
out>, expected=0, futex_word=0x5555559c499c) at
../sysdeps/unix/sysv/linux/futex-internal.h:80
#1 0x00007ffff7e202c6 in __pthread_cond_wait_common (abstime=0x0,
clockid=0, mutex=0x5555559c4948, cond=0x5555559c4970) at
pthread_cond_wait.c:508
#2 0x00007ffff7e202c6 in __pthread_cond_wait
(cond=cond@entry=0x5555559c4970, mutex=mutex@entry=0x5555559c4948) at
pthread_cond_wait.c:638
#3 0x00005555556bbea3 in mzrt_sema_wait (s=0x5555559c4940) at
../../../racket/gc2/../src/mzrt.c:514
#4 0x00005555555d2c56 in worker_thread_future_loop
(arg=arg@entry=0x7fffffffaaf0) at ../../../racket/gc2/../src/future.c:2246
#5 0x00005555556bb8be in mzrt_thread_stub (data=0x555555a5b7f0) at
../../../racket/gc2/../src/mzrt.c:91
#6 0x00007ffff7e19669 in start_thread (arg=<optimized out>) at
pthread_create.c:479
#7 0x00007ffff7d41323 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) thread 16
[Switching to thread 16 (Thread 0x7ffff65b2800 (LWP 21691))]
#0 futex_wait_cancelable (private=<optimized out>, expected=0,
futex_word=0x5555559c4998) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
80 in ../sysdeps/unix/sysv/linux/futex-internal.h
(gdb) bt
#0 0x00007ffff7e202c6 in futex_wait_cancelable (private=<optimized
out>, expected=0, futex_word=0x5555559c4998) at
../sysdeps/unix/sysv/linux/futex-internal.h:80
#1 0x00007ffff7e202c6 in __pthread_cond_wait_common (abstime=0x0,
clockid=0, mutex=0x5555559c4948, cond=0x5555559c4970) at
pthread_cond_wait.c:508
#2 0x00007ffff7e202c6 in __pthread_cond_wait
(cond=cond@entry=0x5555559c4970, mutex=mutex@entry=0x5555559c4948) at
pthread_cond_wait.c:638
#3 0x00005555556bbea3 in mzrt_sema_wait (s=0x5555559c4940) at
../../../racket/gc2/../src/mzrt.c:514
#4 0x00005555555d2c56 in worker_thread_future_loop
(arg=arg@entry=0x7fffffffa830) at ../../../racket/gc2/../src/future.c:2246
#5 0x00005555556bb8be in mzrt_thread_stub (data=0x5555560771e0) at
../../../racket/gc2/../src/mzrt.c:91
#6 0x00007ffff7e19669 in start_thread (arg=<optimized out>) at
pthread_create.c:479
#7 0x00007ffff7d41323 in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Good thing is that gdb installs its own signal handlers, so it is
possible to break the infinite loop (or whatever that is). Bad thing is,
I just left it running overnight and I have no idea how long did it take
(1 to 8 hours).
The Racket binary was built on x86_64 from commit
6a1328cd775f1e44180ce5c84244483b5df9ca91
Looks like it's going through the list of memory pages (probably), but
nothing immediately suspicious about the pointers:
(gdb) print gc
$1 = (NewGC *) 0x5555559d10c0
(gdb) print gc->modified_next
$2 = (struct mpage *) 0x555555c41610
(gdb) print work
$3 = (mpage *) 0x555555a18ac0
(gdb) print work->modified_next
$4 = (struct mpage *) 0x555555a18ac0
Just in case, I saved a core dump:
(gdb) gcore
warning: target file /proc/19075/cmdline contained unexpected null
characters
warning: Memory read failed for corefile section, 4096 bytes at
0xffffffffff600000.
Saved corefile core.19075
It is however quite large:
-rw-r--r-- 1 joe joe 1.5G May 9 07:14 core.19075
Cheers,
Dominik