mcron occasionally gets stuck in pre-fork

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
important
L
L
Ludovic Courtès wrote on 14 Jul 2020 16:16
(address . bug-guix@gnu.org)
87sgdukwq5.fsf@inria.fr
Hi,

mcron running on top of Guile 3.0.2 occasionally gets stuck right before
fork while shutting down the finalization thread:

Toggle snippet (45 lines)
ludo@berlin ~$ ps aux|grep 25457
root 25457 0.0 0.0 149576 9412 ? Ssl Jul10 0:00 /gnu/store/fp5ybkawldy28kzkzp60s23hkqbdx4x2-mcron-1.1.4/bin/mcron /gnu/store/l74fbl7si93si6x47sfwsnc9ag386570-mcron-job /gnu/store/r11ffr5rfkqyw1drqrqabwx210lk1jfn-mcron-job /gnu/store/3a88kc90lv6nqy9k1bwkxpi9gps1vfdb-mcron-job /gnu/store/8386w15b7mj1pmjbp5n9jk6p2v9b0m2q-mcron-job /gnu/store/v0jwrr7ggwvr6y4xvqwiqksbrgkmm21c-mcron-job /gnu/store/wzv96j9c1h86kfzl5ai64j1xwvkin1wz-mcron-job /gnu/store/kz93w89b7sj6gz32aq6flsy0pa3ag6ny-mcron-job /gnu/store/4jv4ap1d161dvix472j47lipvqafqrmn-mcron-job /gnu/store/r7vs7vkid8w1xz0nzkcwc6ylmz8yryc5-mcron-job /gnu/store/yy51bjcx0zndsn9db56sb2d1bn7c9j1i-mcron-job /gnu/store/56vfqmzfidcf1axh07zak2gfbgrc8jdm-mcron-job
ludo 130462 0.0 0.0 6376 2476 pts/11 S+ 16:10 0:00 grep --color 25457
ludo@berlin ~$ sudo gdb -ix ~/.gdbinit -p 25457
GNU gdb (GDB) 8.3.1

[…]

(gdb) bt
#0 0x00007f38221a1517 in __pthread_clockjoin_ex ()
from /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libpthread.so.0
#1 0x00007f38222960d8 in stop_finalization_thread () at finalizers.c:276
#2 0x00007f38222962f9 in scm_i_finalizer_pre_fork () at finalizers.c:301
#3 0x00007f382231e1d6 in scm_fork () at posix.c:1230
#4 0x00007f38193b2def in ?? ()
#5 0x00007f3821bc9d80 in ?? ()
#6 0x00007f38223795c0 in ?? ()
from /gnu/store/18hp7flyb3yid3yp49i6qcdq0sbi5l1n-guile-3.0.2/lib/libguile-3.0.so.1
#7 0x00007f3821bc9d80 in ?? ()
#8 0x00007f38222b2f0b in scm_jit_enter_mcode (thread=0x7f3821bc9d80,
mcode=0x7f38193accd2 "I\211\314I)\304I\203\374\060\017\214s\003")
at jit.c:5777
#9 0x00007f382230e350 in vm_regular_engine (thread=0x7f38193b2dd0)
at vm-engine.c:546
#10 0x00007f382230f175 in scm_call_n (proc=<optimized out>,
argv=argv@entry=0x7ffd8ff6ad58, nargs=nargs@entry=1) at vm.c:1608
#11 0x00007f382228c078 in scm_call_1 (proc=<optimized out>,
arg1=<optimized out>) at eval.c:496
#12 0x000000000040130c in inner_main ()
#13 0x00007f38222a4c0d in invoke_main_func (body_data=0x7ffd8ff6b240)
at init.c:308

[…]

(gdb) thread apply all bt
Thread 17 (Thread 0x7f3819c7d700 (LWP 15795)):
#0 0x00007f38221aa0a4 in read () from /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libpthread.so.0
#1 0x00007f3822296067 in read_finalization_pipe_data (data=0x7f3819c7ca30) at finalizers.c:205
#2 0x00007f38221e8d94 in GC_do_blocking_inner () from /gnu/store/zg126cjicrpm2p6zc08ra5vh4ddag7ww-libgc-8.0.4/lib/libgc.so.1
#3 0x00007f38221e59c2 in GC_with_callee_saves_pushed () from /gnu/store/zg126cjicrpm2p6zc08ra5vh4ddag7ww-libgc-8.0.4/lib/libgc.so.1
#4 0x00007f38221e5a6c in GC_do_blocking () from /gnu/store/zg126cjicrpm2p6zc08ra5vh4ddag7ww-libgc-8.0.4/lib/libgc.so.1
#5 0x00007f38223036b5 in scm_without_guile (func=0x7f3822296050 <read_finalization_pipe_data>, data=0x7f3819c7ca30) at threads.c:706
#6 0x00007f382229641b in finalization_thread_proc (unused=<optimized out>) at finalizers.c:218

This reminds me of https://issues.guix.info/31925 and more recently
this issue Mathieu reported: https://issues.guix.gnu.org/41948.

It could be that Guile still has troubles shutting down the finalization
thread.

Ludo’.
L
L
Ludovic Courtès wrote on 24 Jul 2020 12:16
control message for bug #42353
(address . control@debbugs.gnu.org)
87o8o5b4kv.fsf@gnu.org
severity 42353 important
quit
M
M
Maxim Cournoyer wrote on 24 Aug 2021 05:41
Re: bug#42353: mcron occasionally gets stuck in pre-fork
(name . Ludovic Courtès)(address . ludo@gnu.org)
87o89ntsq9.fsf@gmail.com
Hello,

Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (6 lines)
> Hi,
>
> mcron running on top of Guile 3.0.2 occasionally gets stuck right before
> fork while shutting down the finalization thread:
>

[...]

Toggle quote (2 lines)
> This reminds me of https://issues.guix.info/31925 and more recently

This issue was closed as non-reproducible.

Toggle quote (2 lines)
> this issue Mathieu reported: https://issues.guix.gnu.org/41948.

This one is supposedly fixed in Guile 3.0.7 (yay!).

As core-updates-frozen is currently on using Guile 3.0.7, I'm
tentatively closing this issue.

Thanks,

Maxim
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 42353@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 42353
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch