* bug#75205: guix package test failure on i686-linux (kexec-load-file test)
@ 2024-12-30 16:55 Dariqq
2025-01-01 4:17 ` Ian Eure
2025-01-05 16:31 ` boogs via Bug reports for GNU Guix
0 siblings, 2 replies; 5+ messages in thread
From: Dariqq @ 2024-12-30 16:55 UTC (permalink / raw)
To: 75205
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#75205: guix package test failure on i686-linux (kexec-load-file test)
2024-12-30 16:55 bug#75205: guix package test failure on i686-linux (kexec-load-file test) Dariqq
@ 2025-01-01 4:17 ` Ian Eure
2025-01-04 18:11 ` Ludovic Courtès
2025-01-05 16:31 ` boogs via Bug reports for GNU Guix
1 sibling, 1 reply; 5+ messages in thread
From: Ian Eure @ 2025-01-01 4:17 UTC (permalink / raw)
To: 75205; +Cc: Ludovic Courtès
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#75205: guix package test failure on i686-linux (kexec-load-file test)
2025-01-01 4:17 ` Ian Eure
@ 2025-01-04 18:11 ` Ludovic Courtès
2025-01-06 13:20 ` Ludovic Courtès
0 siblings, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2025-01-04 18:11 UTC (permalink / raw)
To: Ian Eure; +Cc: 75205
Hello,
Ian Eure <ian@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’.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#75205: guix package test failure on i686-linux (kexec-load-file test)
2024-12-30 16:55 bug#75205: guix package test failure on i686-linux (kexec-load-file test) Dariqq
2025-01-01 4:17 ` Ian Eure
@ 2025-01-05 16:31 ` boogs via Bug reports for GNU Guix
1 sibling, 0 replies; 5+ messages in thread
From: boogs via Bug reports for GNU Guix @ 2025-01-05 16:31 UTC (permalink / raw)
To: 75205
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
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-01-06 13:21 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-30 16:55 bug#75205: guix package test failure on i686-linux (kexec-load-file test) Dariqq
2025-01-01 4:17 ` Ian Eure
2025-01-04 18:11 ` Ludovic Courtès
2025-01-06 13:20 ` Ludovic Courtès
2025-01-05 16:31 ` boogs via Bug reports for GNU Guix
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).