Some days ago Guix failed to build on openSUSE Tumbleweed. Today I started to investigate it.
Guix fails to build on Tumbleweed with `make -j4` or a greater thread count (see guile_coredump_building_guix.log) It doesn't fail to build with `make -j3` or less threads and when building inside of `guix environment --pure guix`. I then started to look around what could differ between Tumbleweed and guix environment. My first assumption was kind of hit :) Tumbleweed is built since some days with libgc 8.0.4 and Guix is still on 7.6.6. In my home project[0] I have built now Guix (and Guile) with libgc 7.6.4, the version Tumbleweed used before. Guix builds now with `make -j4` and greater again on Tumbleweed... So it seems that guile is not compatible with libgc 8.x yet? Is this correct? I wanted to update libgc in guix but it has 5k dependencies, so I did not :P Any Ideas how to fix this? Do you need any further information from me? Cheers Jonathan [0] https://build.opensuse.org/project/show/home:jbrielmaier:guix
Core was generated by `/usr/bin/guile -L . -L . --no-auto-compile -s ./build-aux/compile-all.scm guix/'. Program terminated with signal SIGABRT, Aborted. #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 return ret; [Current thread is 1 (Thread 0x7f3126d79700 (LWP 3968))] (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007f313e9b5549 in __GI_abort () at abort.c:79 #2 0x00007f313e5e95e1 in GC_unmap (start=<optimized out>, bytes=<optimized out>) at extra/../os_dep.c:2576 #3 GC_unmap (start=<optimized out>, bytes=<optimized out>) at extra/../os_dep.c:2535 #4 0x00007f313e5fb3f9 in GC_unmap_old () at extra/../allchblk.c:419 #5 GC_unmap_old () at extra/../allchblk.c:400 #6 GC_finish_collection () at extra/../alloc.c:1115 #7 0x00007f313e5fba05 in GC_try_to_collect_inner (stop_func=0x7f313e5f26a0 <GC_never_stop_func>) at extra/../alloc.c:553 #8 GC_try_to_collect_inner (stop_func=stop_func@entry=0x7f313e5f26a0 <GC_never_stop_func>) at extra/../alloc.c:485 #9 0x00007f313e5fe0b6 in GC_grow_table (table=table@entry=0x7f313e64c300 <GC_fnlz_roots>, log_size_ptr=log_size_ptr@entry=0x7f313e60a888 <log_fo_table_size>, entries_ptr=entries_ptr@entry=0x7f313e64c2f0 <GC_fo_entries>) at extra/../finalize.c:133 #10 0x00007f313e5fe4ba in GC_register_finalizer_inner (obj=0x7f312dba27a0, fn=0x7f313e8ff380 <finalize_bignum>, cd=0x0, ofn=0x7f3126d785e0, ocd=0x7f3126d785d8, mp=0x7f313e5f2690 <GC_null_finalize_mark_proc>) at extra/../finalize.c:703 #11 0x00007f313e5fea9c in GC_register_finalizer_no_order (obj=<optimized out>, fn=<optimized out>, cd=<optimized out>, ofn=<optimized out>, ocd=<optimized out>) at extra/../finalize.c:844 #12 0x00007f313e91a683 in scm_i_set_finalizer (obj=<optimized out>, proc=<optimized out>, data=<optimized out>) at finalizers.c:53 #13 0x00007f313e8fd30e in make_bignum () at numbers.c:265 #14 scm_i_mkbig () at numbers.c:275 #15 scm_logior (n1=<optimized out>, n2=0x7f312dba2840) at numbers.c:4439 #16 0x00007f313e8ba25f in vm_regular_engine (thread=0x2, vp=0x7f312b1d0e10, registers=0x0, resume=1050459601) at vm-engine.c:2575 #17 0x00007f313e8ab660 in scm_call_n (proc=<optimized out>, argv=<optimized out>, nargs=0) at vm.c:1260 #18 0x00007f313e93874e in scm_call_with_unblocked_asyncs (proc=0x7f3135cd3f20) at async.c:400 #19 0x00007f313e8b637f in vm_regular_engine (thread=0x2, vp=0x7f312b1d0e10, registers=0x0, resume=1050459601) at vm-engine.c:786 #20 0x00007f313e8ab660 in scm_call_n (proc=<optimized out>, argv=<optimized out>, nargs=0) at vm.c:1260 #21 0x00007f313e8bee56 in really_launch (d=0x7f3135cad9c0) at threads.c:794 #22 0x00007f313e92c29a in c_body (d=0x7f3126d78e40) at continuations.c:422 --Type <RET> for more, q to quit, c to continue without paging-- #23 0x00007f313e8b637f in vm_regular_engine (thread=0x2, vp=0x7f312b1d0e10, registers=0x0, resume=1050459601) at vm-engine.c:786 #24 0x00007f313e8ab660 in scm_call_n (proc=<optimized out>, argv=<optimized out>, nargs=0) at vm.c:1260 #25 0x00007f313e8bbaf3 in catch (tag=<optimized out>, thunk=0x7f3135cc3620, handler=0x7f3135cc3600, pre_unwind_handler=0x7f3135cc3400) at throw.c:137 #26 0x00007f313e931745 in scm_i_with_continuation_barrier (body=body@entry=0x7f313e92c290 <c_body>, body_data=body_data@entry=0x7f3126d78e40, handler=handler@entry=0x7f313e931650 <c_handler>, handler_data=handler_data@entry=0x7f3126d78e40, pre_unwind_handler=pre_unwind_handler@entry=0x7f313e931560 <pre_unwind_handler>, pre_unwind_handler_data=0x7f313a50da20) at continuations.c:360 #27 0x00007f313e931a55 in scm_c_with_continuation_barrier (func=<optimized out>, data=<optimized out>) at continuations.c:456 #28 0x00007f313e8bf156 in with_guile (base=0x7f3126d78ea0, data=0x7f3126d78ed0) at threads.c:661 #29 0x00007f313e5eedc7 in GC_call_with_stack_base (fn=fn@entry=0x7f313e8bf080 <with_guile>, arg=arg@entry=0x7f3126d78ed0) at extra/../misc.c:2106 #30 0x00007f313e8bc2dd in scm_i_with_guile (dynamic_state=<optimized out>, data=0x7f3135cad9c0, func=0x7f313e8bede0 <really_launch>) at threads.c:704 #31 launch_thread (d=0x7f3135cad9c0) at threads.c:803 #32 0x00007f313e212faa in start_thread (arg=<optimized out>) at pthread_create.c:486 #33 0x00007f313ea8d73f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95