bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#31925: 'guix substitutes' sometimes hangs on glibc 2.27


From: Ludovic Courtès
Subject: bug#31925: 'guix substitutes' sometimes hangs on glibc 2.27
Date: Thu, 21 Jun 2018 13:45:12 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Hello Guix!

When downloading a number of substitutes, ‘guix substitute’ sometimes
hangs for me since the switch to glibc 2.27.  Anyone else experiencing
this?  It’s relatively frequent for me.

The backtrace shows this:

--8<---------------cut here---------------start------------->8---
(gdb) bt
#0  0x00007fbb34bf794d in __GI___pthread_timedjoin_ex 
(threadid=140441961314048, address@hidden, address@hidden, address@hidden)
    at pthread_join_common.c:89
#1  0x00007fbb34bf773c in __pthread_join (threadid=<optimized out>, 
address@hidden) at pthread_join.c:24
#2  0x00007fbb350d7548 in stop_finalization_thread () at finalizers.c:265
#3  0x00007fbb350d7759 in scm_i_finalizer_pre_fork () at finalizers.c:290
#4  0x00007fbb3514f256 in scm_fork () at posix.c:1222
#5  0x00007fbb351477fd in vm_regular_engine (thread=0x7fbb313739d0, 
vp=0x1569f30, registers=0x52de, resume=884963661) at vm-engine.c:784
#6  0x00007fbb3514ae5a in scm_call_n (proc=<error reading variable: ERROR: 
Cannot access memory at address 0x355c2030>0x7fbb355c2030, address@hidden, 
address@hidden)
    at vm.c:1257
#7  0x00007fbb350ceff7 in scm_primitive_eval (address@hidden<error reading 
variable: ERROR: Cannot access memory at address 0x31738cf8>0x164fb00) at 
eval.c:662
#8  0x00007fbb350cf053 in scm_eval (exp=<error reading variable: ERROR: Cannot 
access memory at address 0x31738cf8>0x164fb00, 
    address@hidden<error reading variable: ERROR: Cannot access memory at 
address 0x354750d8>0x162b140) at eval.c:696
#9  0x00007fbb3511a0b0 in scm_shell (argc=10, argv=0x15f0390) at script.c:454
#10 0x00007fbb350e5add in invoke_main_func (body_data=0x7fff856aed10) at 
init.c:340
#11 0x00007fbb350c82da in c_body (d=0x7fff856aec50) at continuations.c:422
#12 0x00007fbb351477fd in vm_regular_engine (thread=0x7fbb313739d0, 
vp=0x1569f30, registers=0x52de, resume=884963661) at vm-engine.c:784
#13 0x00007fbb3514ae5a in scm_call_n (address@hidden<smob catch-closure 
1564200>, address@hidden, address@hidden) at vm.c:1257
#14 0x00007fbb350cdef9 in scm_call_0 (address@hidden<smob catch-closure 
1564200>) at eval.c:481
#15 0x00007fbb3513a026 in catch (address@hidden, thunk=#<smob catch-closure 
1564200>, handler=<error reading variable: ERROR: Cannot access memory at 
address 0x0>0x15641e0, 
    pre_unwind_handler=<error reading variable: ERROR: Cannot access memory at 
address 0x0>0x15641c0) at throw.c:137
#16 0x00007fbb3513a365 in scm_catch_with_pre_unwind_handler (address@hidden, 
thunk=<optimized out>, handler=<optimized out>, pre_unwind_handler=<optimized 
out>) at throw.c:254
#17 0x00007fbb3513a51f in scm_c_catch (address@hidden, address@hidden <c_body>, 
address@hidden, address@hidden <c_handler>, 
    address@hidden, address@hidden <pre_unwind_handler>, 
pre_unwind_handler_data=0x1564b60) at throw.c:377
#18 0x00007fbb350c88c0 in scm_i_with_continuation_barrier (address@hidden 
<c_body>, address@hidden, address@hidden <c_handler>, 
    address@hidden, address@hidden <pre_unwind_handler>, 
pre_unwind_handler_data=0x1564b60) at continuations.c:360
#19 0x00007fbb350c8955 in scm_c_with_continuation_barrier (func=<optimized 
out>, data=<optimized out>) at continuations.c:456
#20 0x00007fbb35138c3c in with_guile (address@hidden, address@hidden) at 
threads.c:661
#21 0x00007fbb34e2afb8 in GC_call_with_stack_base (address@hidden <with_guile>, 
address@hidden) at misc.c:1949
#22 0x00007fbb35138fd8 in scm_i_with_guile (dynamic_state=<optimized out>, 
address@hidden, address@hidden <invoke_main_func>) at threads.c:704
#23 scm_with_guile (address@hidden <invoke_main_func>, address@hidden) at 
threads.c:710
#24 0x00007fbb350e5c72 in scm_boot_guile (address@hidden, address@hidden, 
address@hidden <inner_main>, address@hidden) at init.c:323
#25 0x0000000000400b80 in main (argc=7, argv=0x7fff856aee68) at guile.c:101
(gdb) info threads
  Id   Target Id         Frame 
* 1    Thread 0x7fbb355cab80 (LWP 21207) "guix substitute" 0x00007fbb34bf794d 
in __GI___pthread_timedjoin_ex (threadid=140441961314048, address@hidden, 
    address@hidden, address@hidden) at pthread_join_common.c:89
  2    Thread 0x7fbb3342c700 (LWP 21208) ".guix-real" 0x00007fbb34bfc552 in 
futex_wait_cancelable (private=<optimized out>, expected=0, 
futex_word=0x7fbb3504f6ec <mark_cv+44>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  3    Thread 0x7fbb32c2b700 (LWP 21209) ".guix-real" 0x00007fbb34bfc552 in 
futex_wait_cancelable (private=<optimized out>, expected=0, 
futex_word=0x7fbb3504f6ec <mark_cv+44>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  4    Thread 0x7fbb3242a700 (LWP 21210) ".guix-real" 0x00007fbb34bfc552 in 
futex_wait_cancelable (private=<optimized out>, expected=0, 
futex_word=0x7fbb3504f6ec <mark_cv+44>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  5    Thread 0x7fbb2eb78700 (LWP 21212) ".guix-real" 0x00007fbb34bffaac in 
__libc_read (fd=9, address@hidden, address@hidden) at 
../sysdeps/unix/sysv/linux/read.c:27
  6    Thread 0x7fbb31373700 (LWP 21214) "guix substitute" 0x00007fbb34bffaac 
in __libc_read (fd=5, address@hidden, address@hidden) at 
../sysdeps/unix/sysv/linux/read.c:27
--8<---------------cut here---------------end--------------->8---

The finalization thread is itself stuck reading from its pipe:

--8<---------------cut here---------------start------------->8---
(gdb) thread 6
[Switching to thread 6 (Thread 0x7fbb31373700 (LWP 21214))]
#0  0x00007fbb34bffaac in __libc_read (fd=5, address@hidden, address@hidden) at 
../sysdeps/unix/sysv/linux/read.c:27
27      in ../sysdeps/unix/sysv/linux/read.c
(gdb) bt
#0  0x00007fbb34bffaac in __libc_read (fd=5, address@hidden, address@hidden) at 
../sysdeps/unix/sysv/linux/read.c:27
#1  0x00007fbb350d74d7 in read_finalization_pipe_data (data=0x7fbb31372a30) at 
finalizers.c:199
#2  0x00007fbb34e30b63 in GC_do_blocking_inner (data=0x7fbb313729f0 
"\300t\r5\273\177", context=<optimized out>) at pthread_support.c:1353
#3  0x00007fbb34e25389 in GC_with_callee_saves_pushed (fn=0x7fbb34e30b20 
<GC_do_blocking_inner>, address@hidden "\300t\r5\273\177") at mach_dep.c:322
#4  0x00007fbb34e2afec in GC_do_blocking (address@hidden 
<read_finalization_pipe_data>, address@hidden) at misc.c:2061
#5  0x00007fbb3513902a in scm_without_guile (func=0x7fbb350d74c0 
<read_finalization_pipe_data>, data=0x7fbb31372a30) at threads.c:722
#6  0x00007fbb350d7887 in finalization_thread_proc (unused=<optimized out>) at 
finalizers.c:212
#7  0x00007fbb350c82da in c_body (d=0x7fbb31372e50) at continuations.c:422
#8  0x00007fbb351477fd in vm_regular_engine (thread=0x5, vp=0x172aea0, 
registers=0x1, resume=884996780) at vm-engine.c:784
#9  0x00007fbb3514ae5a in scm_call_n (address@hidden<smob catch-closure 
1c1ff60>, address@hidden, address@hidden) at vm.c:1257
#10 0x00007fbb350cdef9 in scm_call_0 (address@hidden<smob catch-closure 
1c1ff60>) at eval.c:481
#11 0x00007fbb3513a026 in catch (address@hidden, thunk=#<smob catch-closure 
1c1ff60>, handler=<error reading variable: ERROR: Cannot access memory at 
address 0x0>0x1c1ff40, 
    pre_unwind_handler=<error reading variable: ERROR: Cannot access memory at 
address 0x0>0x1c1ff00) at throw.c:137
#12 0x00007fbb3513a365 in scm_catch_with_pre_unwind_handler (address@hidden, 
thunk=<optimized out>, handler=<optimized out>, pre_unwind_handler=<optimized 
out>) at throw.c:254
#13 0x00007fbb3513a51f in scm_c_catch (address@hidden, address@hidden <c_body>, 
address@hidden, address@hidden <c_handler>, 
    address@hidden, address@hidden <pre_unwind_handler>, 
pre_unwind_handler_data=0x1564b60) at throw.c:377
#14 0x00007fbb350c88c0 in scm_i_with_continuation_barrier (address@hidden 
<c_body>, address@hidden, address@hidden <c_handler>, 
    address@hidden, address@hidden <pre_unwind_handler>, 
pre_unwind_handler_data=0x1564b60) at continuations.c:360
#15 0x00007fbb350c8955 in scm_c_with_continuation_barrier (func=<optimized 
out>, data=<optimized out>) at continuations.c:456
#16 0x00007fbb35138c3c in with_guile (address@hidden, address@hidden) at 
threads.c:661
#17 0x00007fbb34e2afb8 in GC_call_with_stack_base (address@hidden <with_guile>, 
address@hidden) at misc.c:1949
#18 0x00007fbb35138fd8 in scm_i_with_guile (dynamic_state=<optimized out>, 
data=<optimized out>, func=<optimized out>) at threads.c:704
#19 scm_with_guile (func=<optimized out>, data=<optimized out>) at threads.c:710
#20 0x00007fbb34bf6567 in start_thread (arg=0x7fbb31373700) at 
pthread_create.c:463
#21 0x00007fbb3351eeaf in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
--8<---------------cut here---------------end--------------->8---

The ‘primitive-fork’ call itself presumably comes from
‘decompressed-port’, used in (guix scripts substitute).

Ludo’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]