Subject: bug#71211: %guile-static-stripped crashes with a sigsegv (i.e. the guile used in the initrd (?))

From: Attila Lendvai <[email-masked]>
Date: Sun, 26 May 2024 15:26:43 +0000

root symptom:
-------------

i think this is the guile binary that is used in initrd. it's been a while i noted this bug. but if it's so, then if error happens early in the boot, then it just dies with a sigsegv; i.e. it's a major hindrance to debuggability.

reproducer:
-----------

guix shell -e '(begin (use-modules (gnu packages make-bootstrap)) %guile-static-stripped)'

and then start guile. or alternatively:

guile -c '(use-modules (ice-9 readline))'

analysis:
---------

make-guile-static-stripped calls (remove-store-references guile2) without checking the return code.

if i remove that call, then building fails with: "... is not allowed to refer to path `/gnu/store/3zl03prdg07ax4dny78hrzykillr6vcy-glibc-2.35'"
 
i.e. there's some reference in the binary to glibc, which is corrupted by remove-store-references.

i'm not sure this is the cause, but i suspect.

note that the `guile --version` test in make-guile-static-stripped runs fine; i.e. it's an insufficient test.

-- 
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“How much truth can a spirit bear, how much truth can a spirit dare? […] that became for me more and more the real measure of value.”
	— Friedrich Nietzsche (1844–1900)