I seem to have got Guile stuck in wait-condition-variable. This is Guile 3.0.9 (specifically /gnu/store/x4m56h5qkim0pnvx6vgvp541mrdwdrah-guile-3.0.9/bin/guile). Here's some strace output. futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1700032632, tv_nsec=0}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1700032632, tv_nsec=0}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1700032632, tv_nsec=0}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1700032632, tv_nsec=0}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1700032632, tv_nsec=0}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1700032632, tv_nsec=0}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1700032632, tv_nsec=0}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out) futex(0x7f52a1eb6480, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1700032632, tv_nsec=0}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1700032632, tv_nsec=0}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out) futex(0x7f52a1eb6480, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1700032632, tv_nsec=0}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1700032632, tv_nsec=0}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1700032632, tv_nsec=0}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out) futex(0x7f52a1eb6480, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f52a1eb6480, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) = 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1700032632, tv_nsec=0}, FUTEX_BITSET_MATCH_ANY) = -1 ETIMEDOUT (Connection timed out) I think a key thing here is that all the calls to wait-condition-variable are done with a timeout that is (current-time) plus a few seconds, and 1700032632 is hours behind the current time of (1700048795), so I think that's an indication that the program is stuck inside wait-condition-variable. Here's a backtrace from GDB: (gdb) bt #0 0x00007f52a188416a in __futex_abstimed_wait_common () from /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/libc.so.6 #1 0x00007f52a1886abc in pthread_cond_timedwait@@GLIBC_2.3.2 () from /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/libc.so.6 #2 0x00007f52a1e315a5 in scm_pthread_cond_timedwait (cond=, mutex=, wt=) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/threads.c:1618 #3 0x00007f52a1e34eb3 in block_self (queue=((#) #), mutex=mutex@entry=0x7f5295cf7bc0, waittime=waittime@entry=0x7f5249ffa690) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/threads.c:315 #4 0x00007f52a1e37707 in timed_wait (waittime=0x7f5249ffa690, current_thread=0x7f52a1495900, c=0x7f5295d2ed50, m=0x7f5295cf7bc0, kind=SCM_MUTEX_STANDARD) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/threads.c:1371 #5 scm_timed_wait_condition_variable (cond=#, mutex=#, timeout=) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/threads.c:1429 #6 0x00007f52a1e3d390 in vm_regular_engine (thread=0x7f52a1495900) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/vm-engine.c:972 #7 0x00007f52a1e4adb5 in scm_call_n (proc=, argv=, nargs=0) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/vm.c:1615 #8 0x00007f52a1db1b3e in scm_call_with_unblocked_asyncs (proc=#) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/async.c:406 #9 0x00007f52a1e3d390 in vm_regular_engine (thread=0x7f52a1495900) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/vm-engine.c:972 #10 0x00007f52a1e4adb5 in scm_call_n (proc=, argv=, nargs=0) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/vm.c:1615 #11 0x00007f52a1e370f3 in really_launch (d=0x7f52a1486f60) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/threads.c:782 #12 0x00007f52a1db3e1a in c_body (d=0x7f5249ffad80) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/continuations.c:430 #13 0x00007f52a1e3d390 in vm_regular_engine (thread=0x7f52a1495900) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/vm-engine.c:972 #14 0x00007f52a1e4adb5 in scm_call_n (proc=, argv=, nargs=2) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/vm.c:1615 #15 0x00007f52a1db55ca in scm_call_2 (proc=, arg1=, arg2=) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/eval.c:503 #16 0x00007f52a1e5c092 in scm_c_with_exception_handler.constprop.0 (type=#t, handler_data=handler_data@entry=0x7f5249ffad10, thunk_data=thunk_data@entry=0x7f5249ffad10, thunk=, handler=) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/exceptions.c:170 #17 0x00007f52a1e37e1f in scm_c_catch (tag=, body=, body_data=, handler=, handler_data=, pre_unwind_handler=, pre_unwind_handler_data=0x7f52a132b500) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/throw.c:168 #18 0x00007f52a1db6396 in scm_i_with_continuation_barrier (pre_unwind_handler=0x7f52a1db60b0 , pre_unwind_handler_data=0x7f52a132b500, handler_data=0x7f5249ffad80, handler=0x7f52a1dbcba0 , body_data=0x7f5249ffad80, body=0x7f52a1db3e10 ) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/continuations.c:368 #19 scm_c_with_continuation_barrier (func=, data=) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/continuations.c:464 #20 0x00007f52a1e37049 in with_guile (base=0x7f5249ffae08, data=0x7f5249ffae30) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/threads.c:649 #21 0x00007f52a1d177fa in GC_call_with_stack_base () from /gnu/store/k1ha4n9v8d7myiiszvl2ic7xnb56l219-libgc-8.2.2/lib/libgc.so.1 #22 0x00007f52a1e30c5d in scm_i_with_guile (dynamic_state=, data=0x7f52a1486f60, func=0x7f52a1e37080 ) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/threads.c:692 #23 launch_thread (d=0x7f52a1486f60) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/threads.c:791 #24 0x00007f52a18873aa in start_thread () from /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/libc.so.6 #25 0x00007f52a1907f7c in clone3 () from /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/libc.so.6