Hello!

On a fresh build of ‘master’ (.go not built yet), ../meta/guile -c 1
hangs like this:

--8<---------------cut here---------------start------------->8---
(gdb) bt
#0  0x00007ffff75d922c in __lll_lock_wait () from 
/home/ludo/.guix-profile/lib/libpthread.so.0
#1  0x00007ffff75d503c in _L_lock_974 () from 
/home/ludo/.guix-profile/lib/libpthread.so.0
#2  0x00007ffff75d4e8b in pthread_mutex_lock () from 
/home/ludo/.guix-profile/lib/libpthread.so.0
#3  0x00007ffff77ffda5 in GC_get_heap_size () from 
/nix/store/qg8hngsnh4d4zxwyky80v83nxwi0wq56-libgc-7.2alpha6/lib/libgc.so.1
#4  0x00007ffff7abf5e9 in adjust_gc_frequency (hook_data=<optimized out>, 
fn_data=<optimized out>, data=<optimized out>)
    at gc.c:826
#5  0x00007ffff7acb57c in scm_c_hook_run (hook=0x7ffff7dd5140 
<scm_before_gc_c_hook>, data=0x0) at hooks.c:103
#6  0x00007ffff77f5a9c in GC_try_to_collect_inner ()
   from 
/nix/store/qg8hngsnh4d4zxwyky80v83nxwi0wq56-libgc-7.2alpha6/lib/libgc.so.1
#7  0x00007ffff77f6789 in GC_collect_or_expand () from 
/nix/store/qg8hngsnh4d4zxwyky80v83nxwi0wq56-libgc-7.2alpha6/lib/libgc.so.1
#8  0x00007ffff77f68ee in GC_allocobj () from 
/nix/store/qg8hngsnh4d4zxwyky80v83nxwi0wq56-libgc-7.2alpha6/lib/libgc.so.1
#9  0x00007ffff77fb7df in GC_generic_malloc_inner ()
   from 
/nix/store/qg8hngsnh4d4zxwyky80v83nxwi0wq56-libgc-7.2alpha6/lib/libgc.so.1
#10 0x00007ffff77fc754 in GC_generic_malloc_many ()
   from 
/nix/store/qg8hngsnh4d4zxwyky80v83nxwi0wq56-libgc-7.2alpha6/lib/libgc.so.1
#11 0x00007ffff78059ce in GC_malloc () from 
/nix/store/qg8hngsnh4d4zxwyky80v83nxwi0wq56-libgc-7.2alpha6/lib/libgc.so.1
#12 0x00007ffff7b20474 in scm_words (n_words=7112354, car=7112353) at 
../libguile/gc.h:263
#13 scm_i_alloc_struct (vtable_data=0x6c86a0, n_words=n_words@entry=16) at 
struct.c:442
#14 0x00007ffff7b20544 in scm_c_make_structv (vtable=vtable@entry=0x6c8690, 
n_tail=0, n_init=n_init@entry=16, 
    init=init@entry=0x7fffffff7af0) at struct.c:484
#15 0x00007ffff7b2065d in scm_make_struct (vtable=0x6c8690, 
tail_array_size=0x2, init=0x304) at struct.c:559
--8<---------------cut here---------------end--------------->8---

Could it be that GC_get_heap_size doesn’t attempt to acquire the GC lock
with newer versions of libgc, or something like that?  Which libgc
version do people use?

TIA,
Ludo’.

Reply via email to