all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#71211: %guile-static-stripped crashes with a sigsegv (i.e. the guile used in the initrd (?))
@ 2024-05-26 15:26 Attila Lendvai
  2024-05-29 20:51 ` bug#71211: (No Subject) Attila Lendvai
  2024-05-30 19:52 ` bug#71211: %guile-static-stripped crashes with a sigsegv (i.e. the guile used in the initrd (?)) jbranso--- via Bug reports for GNU Guix
  0 siblings, 2 replies; 3+ messages in thread
From: Attila Lendvai @ 2024-05-26 15:26 UTC (permalink / raw)
  To: 71211

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)





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#71211: (No Subject)
  2024-05-26 15:26 bug#71211: %guile-static-stripped crashes with a sigsegv (i.e. the guile used in the initrd (?)) Attila Lendvai
@ 2024-05-29 20:51 ` Attila Lendvai
  2024-05-30 19:52 ` bug#71211: %guile-static-stripped crashes with a sigsegv (i.e. the guile used in the initrd (?)) jbranso--- via Bug reports for GNU Guix
  1 sibling, 0 replies; 3+ messages in thread
From: Attila Lendvai @ 2024-05-29 20:51 UTC (permalink / raw)
  To: 71211@debbugs.gnu.org

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





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#71211: %guile-static-stripped crashes with a sigsegv (i.e. the guile used in the initrd (?))
  2024-05-26 15:26 bug#71211: %guile-static-stripped crashes with a sigsegv (i.e. the guile used in the initrd (?)) Attila Lendvai
  2024-05-29 20:51 ` bug#71211: (No Subject) Attila Lendvai
@ 2024-05-30 19:52 ` jbranso--- via Bug reports for GNU Guix
  1 sibling, 0 replies; 3+ messages in thread
From: jbranso--- via Bug reports for GNU Guix @ 2024-05-30 19:52 UTC (permalink / raw)
  To: Attila Lendvai, 71211

May 26, 2024 at 11:26 AM, "Attila Lendvai" <attila@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)
>




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-05-30 19:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-26 15:26 bug#71211: %guile-static-stripped crashes with a sigsegv (i.e. the guile used in the initrd (?)) Attila Lendvai
2024-05-29 20:51 ` bug#71211: (No Subject) Attila Lendvai
2024-05-30 19:52 ` bug#71211: %guile-static-stripped crashes with a sigsegv (i.e. the guile used in the initrd (?)) jbranso--- via Bug reports for GNU Guix

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.