From unknown Thu Jun 19 14:14:25 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#67194 <67194@debbugs.gnu.org> To: bug#67194 <67194@debbugs.gnu.org> Subject: Status: Stuck in wait-condition-variable Reply-To: bug#67194 <67194@debbugs.gnu.org> Date: Thu, 19 Jun 2025 21:14:25 +0000 retitle 67194 Stuck in wait-condition-variable reassign 67194 guile submitter 67194 Christopher Baines severity 67194 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 15 11:59:38 2023 Received: (at submit) by debbugs.gnu.org; 15 Nov 2023 16:59:38 +0000 Received: from localhost ([127.0.0.1]:53270 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3JEn-0003Fu-Ph for submit@debbugs.gnu.org; Wed, 15 Nov 2023 11:59:38 -0500 Received: from lists.gnu.org ([2001:470:142::17]:49908) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r3JEl-0003Ff-Rk for submit@debbugs.gnu.org; Wed, 15 Nov 2023 11:59:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r3EOk-0000nR-3s for bug-guile@gnu.org; Wed, 15 Nov 2023 06:49:34 -0500 Received: from mira.cbaines.net ([212.71.252.8]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r3EOX-0000zx-3z for bug-guile@gnu.org; Wed, 15 Nov 2023 06:49:33 -0500 Received: from localhost (unknown [217.155.61.229]) by mira.cbaines.net (Postfix) with ESMTPSA id 5D6FB27BBE2 for ; Wed, 15 Nov 2023 11:49:17 +0000 (GMT) Received: from felis (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id a39a54a7 for ; Wed, 15 Nov 2023 11:49:16 +0000 (UTC) User-agent: mu4e 1.10.7; emacs 29.1 From: Christopher Baines To: bug-guile@gnu.org Subject: Stuck in wait-condition-variable Date: Wed, 15 Nov 2023 11:44:34 +0000 Message-ID: <8734x7grt1.fsf@cbaines.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=212.71.252.8; envelope-from=mail@cbaines.net; helo=mira.cbaines.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_HELO_TEMPERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable 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, {t= v_sec=3D1700032632, tv_nsec=3D0}, FUTEX_BITSET_MATCH_ANY) =3D -1 ETIMEDOUT = (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {t= v_sec=3D1700032632, tv_nsec=3D0}, FUTEX_BITSET_MATCH_ANY) =3D -1 ETIMEDOUT = (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {t= v_sec=3D1700032632, tv_nsec=3D0}, FUTEX_BITSET_MATCH_ANY) =3D -1 ETIMEDOUT = (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {t= v_sec=3D1700032632, tv_nsec=3D0}, FUTEX_BITSET_MATCH_ANY) =3D -1 ETIMEDOUT = (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {t= v_sec=3D1700032632, tv_nsec=3D0}, FUTEX_BITSET_MATCH_ANY) =3D -1 ETIMEDOUT = (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {t= v_sec=3D1700032632, tv_nsec=3D0}, FUTEX_BITSET_MATCH_ANY) =3D -1 ETIMEDOUT = (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {t= v_sec=3D1700032632, tv_nsec=3D0}, FUTEX_BITSET_MATCH_ANY) =3D -1 ETIMEDOUT = (Connection timed out) futex(0x7f52a1eb6480, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {t= v_sec=3D1700032632, tv_nsec=3D0}, FUTEX_BITSET_MATCH_ANY) =3D -1 ETIMEDOUT = (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {t= v_sec=3D1700032632, tv_nsec=3D0}, FUTEX_BITSET_MATCH_ANY) =3D -1 ETIMEDOUT = (Connection timed out) futex(0x7f52a1eb6480, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {t= v_sec=3D1700032632, tv_nsec=3D0}, FUTEX_BITSET_MATCH_ANY) =3D -1 ETIMEDOUT = (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {t= v_sec=3D1700032632, tv_nsec=3D0}, FUTEX_BITSET_MATCH_ANY) =3D -1 ETIMEDOUT = (Connection timed out) futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {t= v_sec=3D1700032632, tv_nsec=3D0}, FUTEX_BITSET_MATCH_ANY) =3D -1 ETIMEDOUT = (Connection timed out) futex(0x7f52a1eb6480, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f52a1eb6480, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f5295cf7bc0, FUTEX_WAKE_PRIVATE, 1) =3D 0 futex(0x7f52a1495af4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {t= v_sec=3D1700032632, tv_nsec=3D0}, FUTEX_BITSET_MATCH_ANY) =3D -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/l= n6hxqjvz6m9gdd9s97pivlqck7hzs99-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=3D, mutex=3D, wt=3D) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/threads.c:1618 #3 0x00007f52a1e34eb3 in block_self (queue=3D((#= ) #), mutex=3Dmutex@entry=3D0x7f5295cf7bc0,=20 waittime=3Dwaittime@entry=3D0x7f5249ffa690) at /tmp/guix-build-guile-3.= 0.9.drv-0/guile-3.0.9/libguile/threads.c:315 #4 0x00007f52a1e37707 in timed_wait (waittime=3D0x7f5249ffa690, current_th= read=3D0x7f52a1495900, c=3D0x7f5295d2ed50, m=3D0x7f5295cf7bc0, kind=3DSCM_M= UTEX_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=3D#, mutex=3D#, timeout=3D) 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=3D0x7f52a1495900) at /t= mp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/vm-engine.c:972 #7 0x00007f52a1e4adb5 in scm_call_n (proc=3D, argv=3D, nargs=3D0) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libg= uile/vm.c:1615 #8 0x00007f52a1db1b3e in scm_call_with_unblocked_asyncs (proc=3D#) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/as= ync.c:406 #9 0x00007f52a1e3d390 in vm_regular_engine (thread=3D0x7f52a1495900) at /t= mp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/vm-engine.c:972 #10 0x00007f52a1e4adb5 in scm_call_n (proc=3D, argv=3D, nargs=3D0) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libg= uile/vm.c:1615 #11 0x00007f52a1e370f3 in really_launch (d=3D0x7f52a1486f60) at /tmp/guix-b= uild-guile-3.0.9.drv-0/guile-3.0.9/libguile/threads.c:782 #12 0x00007f52a1db3e1a in c_body (d=3D0x7f5249ffad80) at /tmp/guix-build-gu= ile-3.0.9.drv-0/guile-3.0.9/libguile/continuations.c:430 #13 0x00007f52a1e3d390 in vm_regular_engine (thread=3D0x7f52a1495900) at /t= mp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/vm-engine.c:972 #14 0x00007f52a1e4adb5 in scm_call_n (proc=3D, argv=3D, nargs=3D2) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libg= uile/vm.c:1615 #15 0x00007f52a1db55ca in scm_call_2 (proc=3D, arg1=3D, arg2=3D) 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=3D= #t, handler_data=3Dhandler_data@entry=3D0x7f5249ffad10,=20 thunk_data=3Dthunk_data@entry=3D0x7f5249ffad10, thunk=3D= , handler=3D) 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=3D, body=3D, body_data=3D, handler=3D,=20 handler_data=3D, pre_unwind_handler=3D, p= re_unwind_handler_data=3D0x7f52a132b500) 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_handl= er=3D0x7f52a1db60b0 , pre_unwind_handler_data=3D0x7f52a= 132b500,=20 handler_data=3D0x7f5249ffad80, handler=3D0x7f52a1dbcba0 , bo= dy_data=3D0x7f5249ffad80, body=3D0x7f52a1db3e10 ) 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=3D, data=3D) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/continu= ations.c:464 #20 0x00007f52a1e37049 in with_guile (base=3D0x7f5249ffae08, data=3D0x7f524= 9ffae30) 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/k1ha4n= 9v8d7myiiszvl2ic7xnb56l219-libgc-8.2.2/lib/libgc.so.1 #22 0x00007f52a1e30c5d in scm_i_with_guile (dynamic_state=3D= , data=3D0x7f52a1486f60, func=3D0x7f52a1e37080 ) at /tmp/guix-build-guile-3.0.9.drv-0/guile-3.0.9/libguile/threads.c:692 #23 launch_thread (d=3D0x7f52a1486f60) 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/ln6hxqjvz6m9gdd9s= 97pivlqck7hzs99-glibc-2.35/lib/libc.so.6 #25 0x00007f52a1907f7c in clone3 () from /gnu/store/ln6hxqjvz6m9gdd9s97pivl= qck7hzs99-glibc-2.35/lib/libc.so.6 --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmVUsDpfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh aW5lcy5uZXQACgkQXiijOwuE9XeyxQ//bUBm8SllOCrl4wDRrbDX7Blg+A4v+9rk 07vIi4tds+m9V7+lqQyaf4JWW1fMzFZxWdE87tbISKN+rlCyDTZAMpaaE+iXH8IT rjmJr2/q5rG41rxdwdBYoTC4t78EFUdEFfu3UCW2jpYcTxcaqu+qt2SQ/mKSLQYl Lg10vzLOjyy/SNXJPadkg9BvftG/sw40lU0wbHWay9zemz0gC0COAhMz7nK4oXF/ ghAzc0i7WKJEEzQShfe7T3FR5lEj1l/H7VP8FgxslUXBB2CQ8hxZ4h1fFx4CgUpJ p0qv1FX7XBR2bxngV2u+3e/TzoXTILNa+hjDBDBKPBf+TaJoIHO8lBZxiq92wPlb FpM686vLNr45+cXddoWRIC/tgLzqxQJskvZf1UW876amHJ0ldLRJlC2Rv6hnZQdC IHaVdmp5QltnbxGq41NjnuXT7qB+gcCCRjmOsAMXSMuCLbtw8GuIsC1xS18QSN+M 8Exq+52QzZVQDdfO2OIS91NEfsNEqac0Q5i8NWxJcplQxQhu+nC9ka3KZT+a8I4I r6rtfai0C4GRvJrDzch3WDrQ30GRCQNL0MExA6aQEYWbHTk1Kicn/t34+ZkZfCnv AS5X2A9GlRk/ez55NMalqjb88Tm0iz/t7WloTU1gyurx7A7C4I/S8HlIOYP+CgzM 6JQkRkMGUSg= =TkBg -----END PGP SIGNATURE----- --=-=-=--