Guile crashes with libgc 8.0.4

  • Done
  • quality assurance status badge
Details
2 participants
  • Jonathan Brielmaier
  • Ludovic Courtès
Owner
unassigned
Submitted by
Jonathan Brielmaier
Severity
important
Merged with
J
J
Jonathan Brielmaier wrote on 25 Jul 2019 20:26
Guix fails to build with libgc 8.0.4
154d15a4-2851-6cc3-16b1-b020e27e02e9@web.de
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

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
L
L
Ludovic Courtès wrote on 18 Nov 2019 15:10
control message for bug #36811
(address . control@debbugs.gnu.org)
87wobxi8bj.fsf@gnu.org
merge 36811 36812
quit
L
L
Ludovic Courtès wrote on 18 Nov 2019 15:13
Re: bug#36811: Guix fails to build with libgc 8.0.4
(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)
87o8x9i87h.fsf@gnu.org
Hi Jonathan,

Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:

Toggle quote (17 lines)
> 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?

To isolate the problem, how about:

1. Defining a Guix package for libgc 8.0.4;

2. Running “guix build guile --with-input=libgc@7=libgc@8” (or
defining a package along these lines).

?

Thanks in advance,
Ludo’.
J
J
Jonathan Brielmaier wrote on 19 Nov 2019 13:09
(name . Ludovic Courtès)(address . ludo@gnu.org)
7fa97933-fbb8-8cc1-0f6a-f67cb4436712@web.de
On 18.11.19 15:13, Ludovic Courtès wrote:
Toggle quote (7 lines)
> To isolate the problem, how about:
>
> 1. Defining a Guix package for libgc 8.0.4;
>
> 2. Running “guix build guile --with-input=libgc@7=libgc@8” (or
> defining a package along these lines).

I did this and the build was fine as I expected. Guile builds fine
against libgc-8. But building Guix with a guile-libgc8 goes wrong.

I got now this little patch and try to build guix with:
./pre-inst-env guix build guix -K

```
Toggle diff (59 lines)
diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index 7196ffcd32..172833780f 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -91,6 +91,19 @@ C or C++ programs, though that is not its primary goal.")

(license (x11-style (string-append home-page "license.txt")))))

+(define-public libgc-8
+ (package
+ (inherit libgc)
+ (version "8.0.4")
+ (name "libgc")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ivmai/bdwgc/releases"
+ "/download/v" version "/gc-" version
".tar.gz"))
+ (sha256
+ (base32
+ "1798rp3mcfkgs38ynkbg2p47bq59pisrc6mn0l20pb5iczf0ssj3"))))))
+
(define-public libgc/back-pointers
(package
(inherit libgc)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 4419c48d1a..bc69488fa2 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -250,6 +250,14 @@ without requiring the source code to be rewritten.")
(variable "GUILE_LOAD_COMPILED_PATH")
(files '("lib/guile/2.2/site-ccache")))))))

+(define-public guile-2.2-libgc8
+ (package
+ (inherit guile-2.2)
+ (propagated-inputs
+ `(("libgc" ,libgc-8)
+ ,@(srfi-1:alist-delete "bdw-gc"
+ (package-propagated-inputs guile-2.2))))))
+
(define-public guile-2.2/fixed
;; A package of Guile 2.2 that's rarely changed. It is the one used
;; in the `base' module, and thus changing it entails a full rebuild.
diff --git a/gnu/packages/package-management.scm
b/gnu/packages/package-management.scm
index 1daab4e879..d80e71749d 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -285,7 +285,7 @@
("sqlite" ,sqlite)
("libgcrypt" ,libgcrypt)

- ("guile" ,guile-2.2)
+ ("guile" ,guile-2.2-libgc8)

;; Some of the tests use "unshare" when it is available.
("util-linux" ,util-linux)
```
J
J
Jonathan Brielmaier wrote on 19 Nov 2019 14:33
Guix fails to build with libgc 8.0.4
(address . 36811@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
d8eb008a-826b-f1b8-036d-9b169df758b3@web.de
This failed with the same result:

/gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash:
line 7: 25584 Aborted (core dumped)
XDG_CACHE_HOME=/nowhere host=x86_64-unknown-linux-gnu srcdir="."
./pre-inst-env
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/bin/guile -L "."
-L "." --no-auto-compile -s "."/build-aux/compile-all.scm [*.scm]

Core was generated by
`/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/bin/guile -L .
-L . --n'.
Program terminated with signal SIGABRT, Aborted.
#0 0x00007ffff78bd7fa in raise () from
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libc.so.6
[Current thread is 1 (LWP 25883)]
(gdb) bt
#0 0x00007ffff78bd7fa in raise () from
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libc.so.6
#1 0x00007ffff78be891 in abort () from
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libc.so.6
#2 0x00007ffff7e404ee in GC_unmap () from
/gnu/store/ak1jbgi0pfrvyqkgl1y1k1gl4qadjiqv-libgc-8.0.4/lib/libgc.so.1
#3 0x00007ffff7e405d1 in GC_unmap_old.part.30 ()
from
/gnu/store/ak1jbgi0pfrvyqkgl1y1k1gl4qadjiqv-libgc-8.0.4/lib/libgc.so.1
#4 0x00007ffff7e47882 in GC_finish_collection ()
from
/gnu/store/ak1jbgi0pfrvyqkgl1y1k1gl4qadjiqv-libgc-8.0.4/lib/libgc.so.1
#5 0x00007ffff7e47cf5 in GC_try_to_collect_inner ()
from
/gnu/store/ak1jbgi0pfrvyqkgl1y1k1gl4qadjiqv-libgc-8.0.4/lib/libgc.so.1
#6 0x00007ffff7e4b570 in GC_grow_table ()
from
/gnu/store/ak1jbgi0pfrvyqkgl1y1k1gl4qadjiqv-libgc-8.0.4/lib/libgc.so.1
#7 0x00007ffff7e4bc8a in GC_register_finalizer_inner ()
from
/gnu/store/ak1jbgi0pfrvyqkgl1y1k1gl4qadjiqv-libgc-8.0.4/lib/libgc.so.1
#8 0x00007ffff7ef55f1 in scm_i_set_finalizer ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#9 0x00007ffff7f12b3e in scm_logior ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#10 0x00007ffff7f66062 in vm_regular_engine ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#11 0x00007ffff7f69fd7 in scm_call_n ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#12 0x00007ffff7edd3b8 in scm_call_with_unblocked_asyncs ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#13 0x00007ffff7f6779f in vm_regular_engine ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#14 0x00007ffff7f69fd7 in scm_call_n ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#15 0x00007ffff7f57726 in really_launch ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#16 0x00007ffff7ee635a in c_body ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#17 0x00007ffff7f6779f in vm_regular_engine ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#18 0x00007ffff7f69fd7 in scm_call_n ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#19 0x00007ffff7f58c12 in catch ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#20 0x00007ffff7ee6940 in scm_i_with_continuation_barrier ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#21 0x00007ffff7ee69d5 in scm_c_with_continuation_barrier ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#22 0x00007ffff7f5784c in with_guile ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#23 0x00007ffff7e3ec78 in GC_call_with_stack_base ()
from
/gnu/store/ak1jbgi0pfrvyqkgl1y1k1gl4qadjiqv-libgc-8.0.4/lib/libgc.so.1
#24 0x00007ffff7f56ebd in launch_thread ()
from
/gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/lib/libguile-2.2.so.1
#25 0x00007ffff7e15015 in start_thread ()
from
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libpthread.so.0
#26 0x00007ffff797b91f in clone () from
/gnu/store/ahqgl4h89xqj695lgqvsaf6zh2nhy4pj-glibc-2.29/lib/libc.so.6
L
L
Ludovic Courtès wrote on 20 Nov 2019 15:09
(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)(address . 36811@debbugs.gnu.org)
87d0dmprlu.fsf@gnu.org
Hi Jonathan,

Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:

Toggle quote (9 lines)
> This failed with the same result:
>
> /gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash:
> line 7: 25584 Aborted (core dumped)
> XDG_CACHE_HOME=/nowhere host=x86_64-unknown-linux-gnu srcdir="."
> ./pre-inst-env
> /gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/bin/guile -L "."
> -L "." --no-auto-compile -s "."/build-aux/compile-all.scm [*.scm]

So you built Guile (through Guix) against libgc 8.0.4, and then you
tried to use that Guile to build Guix, is that correct?

Thanks,
Ludo’.
J
J
Jonathan Brielmaier wrote on 20 Nov 2019 15:16
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 36811@debbugs.gnu.org)
4658b0b0-a67c-48b5-f2e3-b16ea91d7e12@web.de
On 20.11.19 15:09, Ludovic Courtès wrote:
Toggle quote (16 lines)
> Hi Jonathan,
>
> Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:
>
>> This failed with the same result:
>>
>> /gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash:
>> line 7: 25584 Aborted (core dumped)
>> XDG_CACHE_HOME=/nowhere host=x86_64-unknown-linux-gnu srcdir="."
>> ./pre-inst-env
>> /gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/bin/guile -L "."
>> -L "." --no-auto-compile -s "."/build-aux/compile-all.scm [*.scm]
>
> So you built Guile (through Guix) against libgc 8.0.4, and then you
> tried to use that Guile to build Guix, is that correct?

Yes, that's what I did. So the problem really is with Guile not
supporting libgc 8.0.4...
L
L
Ludovic Courtès wrote on 20 Nov 2019 16:39
(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)(address . 36811@debbugs.gnu.org)
874kyyo8uz.fsf@gnu.org
Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:

Toggle quote (20 lines)
> On 20.11.19 15:09, Ludovic Courtès wrote:
>> Hi Jonathan,
>>
>> Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:
>>
>>> This failed with the same result:
>>>
>>> /gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash:
>>> line 7: 25584 Aborted (core dumped)
>>> XDG_CACHE_HOME=/nowhere host=x86_64-unknown-linux-gnu srcdir="."
>>> ./pre-inst-env
>>> /gnu/store/xrcl2csd0ps5n0zwj8r7knkxjnz4pfbh-guile-2.2.6/bin/guile -L "."
>>> -L "." --no-auto-compile -s "."/build-aux/compile-all.scm [*.scm]
>>
>> So you built Guile (through Guix) against libgc 8.0.4, and then you
>> tried to use that Guile to build Guix, is that correct?
>
> Yes, that's what I did. So the problem really is with Guile not
> supporting libgc 8.0.4...

I think so, yes.

Can you post your patch to the libgc package, though? It’s weird that
Guile passed its test suite but then crashes when compiling Guix.

Ludo’.
J
J
Jonathan Brielmaier wrote on 20 Nov 2019 17:06
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 36811@debbugs.gnu.org)
6b263a31-01d5-634d-54f1-e2f04018bdc8@web.de
On 20.11.19 16:39, Ludovic Courtès wrote> I think so, yes.
Toggle quote (4 lines)
>
> Can you post your patch to the libgc package, though? It’s weird that
> Guile passed its test suite but then crashes when compiling Guix.

I already posted all I have in a previous mail:

For the openSUSE package I just build guile against libgc 7.6.4
J
J
Jonathan Brielmaier wrote on 3 Feb 2020 12:49
Guix fails to build with libgc 8.0.4
(address . 36811@debbugs.gnu.org)
18b00b34-c9ce-e527-11de-cdc0d0461e0e@web.de
Just for the record: Ludo added libgc-8 in
69961ac3b9db2dbb99abb5c45ff6be3a9c01b5de on master. It's not yet used,
so we need to replace libgc-7.6 with it and see how it goes...
L
L
Ludovic Courtès wrote on 6 Feb 2020 15:02
control message for bug #36811
(address . control@debbugs.gnu.org)
87eev795kt.fsf@gnu.org
severity 36811 important
quit
L
L
Ludovic Courtès wrote on 6 Feb 2020 15:07
Re: bug#36811: Guix fails to build with libgc 8.0.4
(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)(address . 36811@debbugs.gnu.org)
877e0z95ci.fsf@gnu.org
Hi Jonathan,

As discussed yesterday on #guix, I tried this:

guix build guile3.0-guix --with-input=libgc@7=libgc@8

as of Guix commit 9d0dfd9a9a7c43363a4e140c20d49f119fe6f2e3. Guile 3.0.0
itself builds fine (test suite included), but the build of Guix crashes
like this (on x86_64-linux-gnu):

Toggle snippet (13 lines)
[ 76%] GUILEC gnu/packages/icu4c.go
[ 77%] GUILEC gnu/packages/idris.go
[ 77%] GUILEC gnu/packages/idutils.go
[ 77%] GUILEC gnu/packages/image.go
[ 77%] GUILEC gnu/packages/image-processing.go
[ 77%] GUILEC gnu/packages/image-viewers.go
mmap(PROT_NONE) failed
/gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash: line 7: 26886 Aborted XDG_CACH
E_HOME=/nowhere host=x86_64-unknown-linux-gnu srcdir="." ./pre-inst-env /gnu/store/dcsjagbjlhjj40g30lb88wx3zybmh07g-gui
le-next-3.0.0/bin/guile -L "." -L "." --no-auto-compile -s "."/build-aux/compile-all.scm guix/base16.scm guix/base32.sc
m guix/base64.scm guix/ci.scm guix/cpio.scm guix/deprecation.scm guix/docker.scm guix/json.scm guix/records.scm guix/pk

Apparently the message and abort come from ‘GC_unmap’ or ‘GC_unmap_gap’
in libgc, but I have no idea what to think about it. Could it be a heap
exhaustion issue or similar? That’s not impossible.

Thanks,
Ludo’.
J
J
Jonathan Brielmaier wrote on 6 Feb 2020 15:16
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 36811@debbugs.gnu.org)
9c8a8c06-a8a4-e2d4-db08-b211fec01e28@web.de
On 06.02.20 15:07, Ludovic Courtès wrote:
Toggle quote (24 lines)
> Hi Jonathan,
>
> As discussed yesterday on #guix, I tried this:
>
> guix build guile3.0-guix --with-input=libgc@7=libgc@8
>
> as of Guix commit 9d0dfd9a9a7c43363a4e140c20d49f119fe6f2e3. Guile 3.0.0
> itself builds fine (test suite included), but the build of Guix crashes
> like this (on x86_64-linux-gnu):
>
> --8<---------------cut here---------------start------------->8---
> [ 76%] GUILEC gnu/packages/icu4c.go
> [ 77%] GUILEC gnu/packages/idris.go
> [ 77%] GUILEC gnu/packages/idutils.go
> [ 77%] GUILEC gnu/packages/image.go
> [ 77%] GUILEC gnu/packages/image-processing.go
> [ 77%] GUILEC gnu/packages/image-viewers.go
> mmap(PROT_NONE) failed
> /gnu/store/29jhbbg1hf557x8j53f9sxd9imlmf02a-bash-minimal-5.0.7/bin/bash: line 7: 26886 Aborted XDG_CACH
> E_HOME=/nowhere host=x86_64-unknown-linux-gnu srcdir="." ./pre-inst-env /gnu/store/dcsjagbjlhjj40g30lb88wx3zybmh07g-gui
> le-next-3.0.0/bin/guile -L "." -L "." --no-auto-compile -s "."/build-aux/compile-all.scm guix/base16.scm guix/base32.sc
> m guix/base64.scm guix/ci.scm guix/cpio.scm guix/deprecation.scm guix/docker.scm guix/json.scm guix/records.scm guix/pk
> --8<---------------cut here---------------end--------------->8---

This is exactly the error I see on Tumbleweed and what this issue is
about :) This is good, so I guess it also has the same root somewhere in
guile<->libgc8.

Toggle quote (4 lines)
> Apparently the message and abort come from ‘GC_unmap’ or ‘GC_unmap_gap’
> in libgc, but I have no idea what to think about it. Could it be a heap
> exhaustion issue or similar? That’s not impossible.

Thanks for providing the reproducer!
L
L
Ludovic Courtès wrote on 6 Mar 2020 15:45
control message for bug #36811
(address . control@debbugs.gnu.org)
87imjhmtj5.fsf@gnu.org
merge 36811 39241
quit
L
L
Ludovic Courtès wrote on 6 Mar 2020 16:14
(address . control@debbugs.gnu.org)
87blp9ms6w.fsf@gnu.org
retitle 36811 Guile crashes with libgc 8.0.4
quit
L
L
Ludovic Courtès wrote on 11 Mar 2020 15:13
Re: bug#36811: Guix fails to build with libgc 8.0.4
(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)(address . 36811@debbugs.gnu.org)
87lfo7htdw.fsf@gnu.org
Hi Jonathan,

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

Toggle quote (4 lines)
> As discussed yesterday on #guix, I tried this:
>
> guix build guile3.0-guix --with-input=libgc@7=libgc@8

With Guile 3.0.1 + the patch for
https://issues.guix.gnu.org/issue/39266, the command above succeeds.

Specifically:

guix pull --commit=e4b5bdf7993590fefeb7182ae71beec4a9f69e3f
guix build --with-input=libgc@7=libgc@8 guile3.0-guix

Could you confirm that it works for you?

Thanks,
Ludo’.
J
J
Jonathan Brielmaier wrote on 12 Mar 2020 11:23
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 36811-close@debbugs.gnu.org)
0e4b61bb-b593-ef47-b96c-ab3d7198a3c0@web.de
On 11.03.20 15:13, Ludovic Courtès wrote:> With Guile 3.0.1 + the patch for
Toggle quote (9 lines)
> https://issues.guix.gnu.org/issue/39266, the command above succeeds.
>
> Specifically:
>
> guix pull --commit=e4b5bdf7993590fefeb7182ae71beec4a9f69e3f
> guix build --with-input=libgc@7=libgc@8 guile3.0-guix
>
> Could you confirm that it works for you?

That's working for me. I built guix with guile 3.0.1 plus the patch from
#39266 and the crash when building guix with more then two threads went
away!

Thank you, Ludovic! Closing this bug now :)
L
L
Ludovic Courtès wrote on 12 Mar 2020 16:59
control message for bug #39266
(address . control@debbugs.gnu.org)
87eetxsgwj.fsf@gnu.org
merge 39266 36811
quit
L
L
Ludovic Courtès wrote on 12 Mar 2020 16:59
Re: bug#36811: Guix fails to build with libgc 8.0.4
(name . Jonathan Brielmaier)(address . jonathan.brielmaier@web.de)(address . 36811-close@debbugs.gnu.org)
87ftedsgxf.fsf@gnu.org
Jonathan Brielmaier <jonathan.brielmaier@web.de> skribis:

Toggle quote (16 lines)
> On 11.03.20 15:13, Ludovic Courtès wrote:> With Guile 3.0.1 + the patch for
>> <https://issues.guix.gnu.org/issue/39266>, the command above succeeds.
>>
>> Specifically:
>>
>> guix pull --commit=e4b5bdf7993590fefeb7182ae71beec4a9f69e3f
>> guix build --with-input=libgc@7=libgc@8 guile3.0-guix
>>
>> Could you confirm that it works for you?
>
> That's working for me. I built guix with guile 3.0.1 plus the patch from
> #39266 and the crash when building guix with more then two threads went
> away!
>
> Thank you, Ludovic! Closing this bug now :)

Woohoo, thanks for checking!

Ludo’.
L
L
Ludovic Courtès wrote on 12 Mar 2020 17:01
control message for bug #39266
(address . control@debbugs.gnu.org)
878sk5sgt1.fsf@gnu.org
merge 39266 39208
quit
J
J
Jonathan Brielmaier wrote on 12 Mar 2020 17:15
Re: bug#36811: Guix fails to build with libgc 8.0.4
(address . 36811-done@debbugs.gnu.org)
7390c614-1faa-6f21-0f04-4bb38652c6f5@web.de

Closed
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 36811
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