GNU bug report logs -
#75205
guix package test failure on i686-linux (kexec-load-file test)
Previous Next
Reported by: Dariqq <dariqq <at> posteo.net>
Date: Mon, 30 Dec 2024 16:56:01 UTC
Severity: important
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 75205 in the body.
You can then email your comments to 75205 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#75205
; Package
guix
.
(Mon, 30 Dec 2024 16:56:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Dariqq <dariqq <at> posteo.net>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Mon, 30 Dec 2024 16:56:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hello,
The guix package is failing the newly added kexec-load-file syscall test
on i686-linux:
From https://ci.guix.gnu.org/build/7774049/details:
test-name: kexec-load-file
location:
/tmp/guix-build-guix-1.4.0-31.121e96d.drv-0/source/tests/syscalls.scm:688
source:
+ (test-equal
+ "kexec-load-file"
+ EPERM
+ (catch 'system-error
+ (lambda ()
+ (let ((fd1 (open-fdes "/dev/null" O_RDONLY))
+ (fd2 (open-fdes "/dev/null" O_RDONLY)))
+ (kexec-load-file fd1 fd2 "gnu.repl=yes")))
+ (lambda args (system-error-errno args))))
expected-value: 1
actual-value: 14
result: FAIL
Information forwarded
to
bug-guix <at> gnu.org
:
bug#75205
; Package
guix
.
(Wed, 01 Jan 2025 04:18:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 75205 <at> debbugs.gnu.org (full text, mbox):
This is failing for me on aarch64-linux also:
test-name: kexec-load-file
location:
/tmp/guix-build-guix-1.4.0-31.121e96d.drv-0/source/tests/syscalls.scm:688
source:
+ (test-equal
+ "kexec-load-file"
+ EPERM
+ (catch 'system-error
+ (lambda ()
+ (let ((fd1 (open-fdes "/dev/null" O_RDONLY))
+ (fd2 (open-fdes "/dev/null" O_RDONLY)))
+ (kexec-load-file fd1 fd2 "gnu.repl=yes")))
+ (lambda args (system-error-errno args))))
expected-value: 1
actual-value: 38
result: FAIL
If I downgrade to commit 96cd163c14e68c66c6a4cf0b18261fc454f8c1ba,
guix tests pass again -- the failing test was added in the next
commit. I’m not sure what the issue here, it seems like that
syscall shouldn’t be arch-dependent, and the errnos in the
failures are unhelpful. 38 is ERANGE, 14 is EFAULT, neither of
those seem applicable here. EPERM is 1, and 38 doesn’t have its
LSB set, so it can’t be a bitmask.
I’m encountering the issue using Guix as a foreign package manager
on top of Debian 12 "bookworm" in a VM. Perhaps there’s an
implicit dependency on the host system’s kernel in the test, which
Debian’s fails to meet.
Ludo’, any thoughts?
-- Ian
Information forwarded
to
bug-guix <at> gnu.org
:
bug#75205
; Package
guix
.
(Sat, 04 Jan 2025 18:12:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 75205 <at> debbugs.gnu.org (full text, mbox):
Hello,
Ian Eure <ian <at> retrospec.tv> skribis:
> This is failing for me on aarch64-linux also:
>
> test-name: kexec-load-file
> location:
> /tmp/guix-build-guix-1.4.0-31.121e96d.drv-0/source/tests/syscalls.scm:688
> source:
> + (test-equal
> + "kexec-load-file"
> + EPERM
> + (catch 'system-error
> + (lambda ()
> + (let ((fd1 (open-fdes "/dev/null" O_RDONLY))
> + (fd2 (open-fdes "/dev/null" O_RDONLY)))
> + (kexec-load-file fd1 fd2 "gnu.repl=yes")))
> + (lambda args (system-error-errno args))))
> expected-value: 1
> actual-value: 38
> result: FAIL
Could you strace it, to see if strace decodes it are ‘kexec_file_load’?
For example like this:
./pre-inst-env strace -e kexec_file_load \
guile -c '(use-modules (guix build syscalls)) (kexec-load-file (open-fdes "/dev/null" O_RDONLY) (open-fdes "/dev/null" O_RDONLY) "")'
38 is ENOSYS (“Function not implemented”), not ERANGE. This could mean
that kexec support is missing in this kernel.
Thanks,
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#75205
; Package
guix
.
(Mon, 06 Jan 2025 09:09:05 GMT)
Full text and
rfc822 format available.
Message #14 received at 75205 <at> debbugs.gnu.org (full text, mbox):
Forwarding my reply from this other relevant thread[1]:
> Hi,
> It looks like some people[1,2] including myself are running into an issue where the `guix system reconfigure` command fails, presumably because `KEXEC_FILE_DEBUG` is not supported in older kernel configurations.
>
> The output of reconfiguring my system is the same as Simen's[2] ending in:
>
> ```
> To complete the upgrade, run 'herd restart SERVICE' to stop,
> upgrade, and restart each service that was not automatically restarted.
> Run 'herd status' to view the list of services on your system.
> WARNING: (guile-user): imported module (guix build utils) overrides core binding `delete'
> guix system: error: kexec-load-file: Invalid argument
> ```
>
> My system runs a custom kernel configuration that I created via `make menuconfig` in the kernel repo. I suspect the issue lies here:
>
> ```
> (define (kexec-loading-program os)
> "Return a program that calls 'kexec_file_load' to allow rebooting into OS
> via 'kexec'."
> (let ((root-device (file-system-device
> (operating-system-root-file-system os))))
> (program-file
> "kexec-load-system.scm"
> (with-imported-modules '((guix build syscalls))
> #~(begin
> (use-modules (guix build syscalls))
> (let ((kernel (open-fdes #$(operating-system-kernel-file os)
> O_RDONLY))
> (initrd (open-fdes #$(operating-system-initrd-file os)
> O_RDONLY)))
> (kexec-load-file kernel initrd
> (string-join
> (list #$@(operating-system-kernel-arguments
> os root-device)))
> KEXEC_FILE_DEBUG)))))))
> ```
>
> This is the relevant snippet from my kernel configuration:
>
> ```
> #
> # Kexec and crash features
> #
> CONFIG_CRASH_CORE=y
> CONFIG_KEXEC_CORE=y
> CONFIG_KEXEC=y
> CONFIG_KEXEC_FILE=y
> CONFIG_KEXEC_JUMP=y
> CONFIG_CRASH_DUMP=y
> CONFIG_CRASH_HOTPLUG=y
> CONFIG_CRASH_MAX_MEMORY_RANGES=8192
> # end of Kexec and crash features
> # end of General setup
> ```
>
> [1] https://issues.guix.gnu.org/75320
> [2] https://issues.guix.gnu.org/75211
[1] https://issues.guix.gnu.org/75027
--
Boogs
Severity set to 'important' from 'normal'
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Mon, 06 Jan 2025 10:51:01 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#75205
; Package
guix
.
(Mon, 06 Jan 2025 13:21:02 GMT)
Full text and
rfc822 format available.
Message #19 received at 75205 <at> debbugs.gnu.org (full text, mbox):
See <https://issues.guix.gnu.org/75402>.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#75205
; Package
guix
.
(Tue, 11 Feb 2025 08:27:02 GMT)
Full text and
rfc822 format available.
Message #22 received at 75205 <at> debbugs.gnu.org (full text, mbox):
Hi Ludo,
Can #75205 be closed now? With the update to guix in
d7157cca1053d82041e4fc294f9a5f13e2cf612b the package builds again for i686:
I built it myself and also ci.g.g.o was successful (taking 7000 seconds!):
https://ci.guix.gnu.org/build/9193966/details
Thanks for the fix.
On 06.01.25 13:58, Ludovic Courtès wrote:
> Fixes <https://issues.guix.gnu.org/75205>.
>
> * guix/build/syscalls.scm (kexec-load-file): Remove syscall ID for i686.
> * tests/syscalls.scm ("kexec-load-file"): Accept ENOSYS in addition to
> EPERM.
>
Reply sent
to
Ludovic Courtès <ludo <at> gnu.org>
:
You have taken responsibility.
(Fri, 21 Feb 2025 09:52:04 GMT)
Full text and
rfc822 format available.
Notification sent
to
Dariqq <dariqq <at> posteo.net>
:
bug acknowledged by developer.
(Fri, 21 Feb 2025 09:52:04 GMT)
Full text and
rfc822 format available.
Message #27 received at 75205-done <at> debbugs.gnu.org (full text, mbox):
Hi,
Dariqq <dariqq <at> posteo.net> skribis:
> Can #75205 be closed now? With the update to guix in
> d7157cca1053d82041e4fc294f9a5f13e2cf612b the package builds again for
> i686:
Yes, done!
Ludo’.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 21 Mar 2025 11:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 106 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.