GNU bug report logs -
#71211
%guile-static-stripped crashes with a sigsegv (i.e. the guile used in the initrd (?))
Previous Next
Reported by: Attila Lendvai <attila <at> lendvai.name>
Date: Sun, 26 May 2024 15:28:01 UTC
Severity: normal
Tags: notabug
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 71211 in the body.
You can then email your comments to 71211 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#71211
; Package
guix
.
(Sun, 26 May 2024 15:28:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Attila Lendvai <attila <at> lendvai.name>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Sun, 26 May 2024 15:28:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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)
Information forwarded
to
bug-guix <at> gnu.org
:
bug#71211
; Package
guix
.
(Wed, 29 May 2024 20:52:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 71211 <at> debbugs.gnu.org (full text, mbox):
the reproducer still crashes on a recent x86_64, but i originally noticed this long ago (maybe a year even). back then i investigated an early crash in the boot, and i reached %GUILE-STATIC-STRIPPED, and made a TODO note to further investigate. then i forgot most of what happened, and recently i opened this bug report based on my note.
since then EXPRESSION->INITRD may have changed, because it now uses %GUILE-STATIC-INITRD, but it's created with the same MAKE-GUILE-STATIC-STRIPPED that produces the faulty %GUILE-STATIC-STRIPPED, so they're essentially the same.
in short: the reproducer crashes both %GUILE-STATIC-STRIPPED and %GUILE-STATIC-INITRD on x86_64, and i believe that it crashes the same way in the early phase of the boot when/if it tries to enter the debugger.
--
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“If instead of teaching other people what government should be and should do, you'd teach yourself what government actually is and does do, you'd be a libertarian.”
— François-René Rideau
Information forwarded
to
bug-guix <at> gnu.org
:
bug#71211
; Package
guix
.
(Thu, 30 May 2024 19:53:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 71211 <at> debbugs.gnu.org (full text, mbox):
May 26, 2024 at 11:26 AM, "Attila Lendvai" <attila <at> lendvai.name> wrote:
>
> 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:
>
> ---------
If it's that easy, to crash guile, then I'll try it on my T400. I'll resond if a few
if it crashes for me.
>
> 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)
>
Information forwarded
to
bug-guix <at> gnu.org
:
bug#71211
; Package
guix
.
(Mon, 22 Jul 2024 07:22:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 71211 <at> debbugs.gnu.org (full text, mbox):
Hi,
Attila Lendvai <attila <at> lendvai.name> skribis:
> 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))'
Indeed:
--8<---------------cut here---------------start------------->8---
$ guix shell guile-static-stripped -- guile -c '(use-modules (ice-9 readline))'
$ echo $?
139
--8<---------------cut here---------------end--------------->8---
It’s hard to see exactly where it segfaults, but it’s not surprising:
it’s built with a different libc than the ‘guile-readline’ package I’ve
installed, and it’s not capable of dlopening things. That’s a
restriction we have to be aware of, but that’s ok.
Thanks,
Ludo’.
Added tag(s) notabug.
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Mon, 22 Jul 2024 07:22:02 GMT)
Full text and
rfc822 format available.
bug closed, send any further explanations to
71211 <at> debbugs.gnu.org and Attila Lendvai <attila <at> lendvai.name>
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Mon, 22 Jul 2024 07:22:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 19 Aug 2024 11:24:06 GMT)
Full text and
rfc822 format available.
This bug report was last modified 302 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.