Bug in ‘network-interface-names’ when building guix for aarch64 on x86_64.

  • Done
  • quality assurance status badge
Details
5 participants
  • Danny Milosavljevic
  • Leo Famulari
  • Ludovic Courtès
  • Mathieu Othacehe
  • Stefan
Owner
unassigned
Submitted by
Stefan
Severity
normal

Debbugs page

Stefan wrote 4 years ago
Bug in ‘network-interface-names’ when building guix for aarch64 on x86_64.
(address . bug-guix@gnu.org)
19CC6F6C-98CA-4218-A9E7-FE7AC751E924@vodafonemail.de
Hi!

When building for aarch64 on a x86…64 system, then the ‘network-interface-names’ function produces an error.

Because of this building guix for aarch64 fails during the test with this:

test-name: network-interface-names
location: /tmp/guix-build-guix-1.2.0-8.7624ebb.drv-0/source/tests/syscalls.scm:387
source:
+ (test-assert
+ "network-interface-names"
+ (match (remove
+ (lambda (interface)
+ (string-contains interface ":"))
+ (network-interface-names))
+ (((? string? names) ..1)
+ (lset<=
+ string=?
+ names
+ (all-network-interface-names)))))
actual-value: #f
actual-error:
+ (wrong-type-arg
+ "list-tail"
+ "Wrong type argument in position ~A (expecting ~A): ~S"
+ (1 "pair" ())
+ (()))
result: FAIL


I created a little reproducer for this problem:

stefan@guix ~$ cat test.scm
(use-modules (guix gexp)
(gnu packages admin))
(with-imported-modules '((guix build syscalls)
(guix build utils))
(computed-file "insterface-names"
#~(begin
(use-modules (guix build syscalls)
(guix build utils)
(ice-9 popen)
(ice-9 rdelim))
(mkdir-p #$output)
(chdir #$output)
(with-output-to-file "interface-names"
(lambda ()
(display (string-join (all-network-interface-names) ", "))
(newline)
(let* ((port (open-input-pipe #$(file-append inetutils "/bin/ifconfig"))))
(display (string-join
(let loop ((output '()))
(let ((line (read-line port)))
(if (eof-object? line)
(reverse output)
(loop (cons line output)))))
"\n"))
(close-pipe port))
(display (string-join (network-interface-names) ", "))
(newline))))))

stefan@guix ~$ guix build --system=aarch64-linux -f test.scm
Folgende Ableitung wird erstellt:
/gnu/store/l7sypckaywl3djrhagywwzsb2c3984wf-insterface-names.drv
/gnu/store/l7sypckaywl3djrhagywwzsb2c3984wf-insterface-names.drv wird erstellt …
Backtrace:
7 (primitive-load "/gnu/store/a37szh4h151v66xyl874qfcbm6x?")
In ice-9/ports.scm:
463:17 6 (call-with-output-file _ _ #:binary _ #:encoding _)
474:4 5 (_ _)
In ice-9/eval.scm:
619:8 4 (_ #(#(#<directory (guile-user) 7ffff6f14f00>)))
155:9 3 (_ #(#(#<directory (guile-user) 7ffff6f14f00>)))
159:9 2 (_ #(#(#<directory (guile-user) 7ffff6f14f00>)))
In guix/build/syscalls.scm:
1476:13 1 (bytevector->string-list _ 40 _)
In unknown file:
0 (list-tail (108 111 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 ?) ?)

ERROR: In procedure list-tail:
In procedure list-tail: Wrong type argument in position 1 (expecting pair): ()
builder for `/gnu/store/l7sypckaywl3djrhagywwzsb2c3984wf-insterface-names.drv' failed with exit code 1
Erstellung von /gnu/store/l7sypckaywl3djrhagywwzsb2c3984wf-insterface-names.drv fehlgeschlagen
Das Erstellungsprotokoll kann unter „/var/log/guix/drvs/l7/sypckaywl3djrhagywwzsb2c3984wf-insterface-names.drv.bz2“ eingesehen werden.
guix build: error: build of `/gnu/store/l7sypckaywl3djrhagywwzsb2c3984wf-insterface-names.drv' failed


When the line containing "(display (string-join (network-interface-names) ", "))" is removed, the output looks as follows:

stefan@guix ~$ cat /gnu/store/q7m7dxp4pn7jrw4f6hkwfsiga5zj43x1-insterface-names/interface-names
lo
lo Link encap:Local Loopback
inet addr:127.0.0.1 Bcast:0.0.0.0 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 TX bytes:0

I think the problem happens in guix/build/syscalls.scm in ‘bytevector->string-list’, which is used by ‘network-interface-name’, certainly in (drop bytes stride) more bytes than available should be dropped, probably because stride is bigger than len:

(define (bytevector->string-list bv stride len)
"Return the null-terminated strings found in BV every STRIDE bytes. Read at
most LEN bytes from BV."
(let loop ((bytes (take (bytevector->u8-list bv)
(min len (bytevector-length bv))))
(result '()))
(match bytes
(()
(reverse result))
(_
=> (loop (drop bytes stride)
(cons (bytes->string bytes) result))))))


Bye

Stefan
Stefan wrote 4 years ago
Re: Bug in ‘network-interface-names’ when building guix for aarch64 on x86_64.
(address . 45716@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
5A46F4E0-9823-4614-A7BC-865F9D7C0FB7@vodafonemail.de
Hi!

This change makes the reproducer working and prints some more values:

Toggle diff (49 lines)
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index 85c1c45f81..250c577d33 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -1473,7 +1473,19 @@ most LEN bytes from BV."
(()
(reverse result))
(_
- (loop (drop bytes stride)
+ (display "bytes: ")
+ (display (length bytes))
+ (newline)
+ (display "stride: ")
+ (display stride)
+ (newline)
+ (display "ifreq-struct-size: ")
+ (display ifreq-struct-size)
+ (newline)
+ (display "sizeof '*: ")
+ (display (sizeof '*))
+ (newline)
+ (loop (drop bytes (min stride (length bytes)))
(cons (bytes->string bytes) result))))))
(define* (network-interface-names #:optional sock)


So indeed, the number of bytes is only 32, if build with ‘./pre-inst-env guix build --system=aarch64-linux -f ~/test.scm’:

bytes: 32
stride: 40
sizeof '*: 8

If this is instead build with just ‘./pre-inst-env guix build -f ~/test.scm’, the output is as expected:

bytes: 40
stride: 40
sizeof '*: 8
I have however no clue, why the number of bytes is only 32 in case of aarch64. This value is taken from the struct ifconf read via ioctl(SIOCGIFCONF).

Danny, does that maybe ring a bell?

To be precise this is all running in a virtual machine with virtio-net-pci. Both kernel and qemu on the host are rather old. However, building for x86_64 works just fine, so I think the host setup is unrelated.


Bye

Stefan
Danny Milosavljevic wrote 4 years ago
Re: Bug in ‘network-interface-names’ when building guix for aarch64 on x86_64.
(name . Stefan)(address . stefan-guix@vodafonemail.de)(address . ludo@gnu.org)(address . 45716@debbugs.gnu.org)
20210108040445.1444c372@scratchpost.org
Hi Stefan,

Toggle quote (2 lines)
>I have however no clue, why the number of bytes is only 32 in case of aarch64. This value is taken from the struct ifconf read via ioctl(SIOCGIFCONF).

guix/build/syscalls.scm has:

Toggle quote (8 lines)
>(define ifreq-struct-size
> ;; 'struct ifreq' begins with an array of IF_NAMESIZE bytes containing the
> ;; interface name (nul-terminated), followed by a bunch of stuff. This is
> ;; its size in bytes.
> (if (= 8 (sizeof '*))
> 40
> 32))

I think that should rather be (sizeof* '*) instead of (sizeof '*). Ludo?

Can you try printing (@@ (guix build syscalls) ifreq-struct-size) directly ?

Toggle quote (4 lines)
>To be precise this is all running in a virtual machine with virtio-net-pci.
>Both kernel and qemu on the host are rather old. However, building for x86_64
>works just fine, so I think the host setup is unrelated.

Is it qemu-user or qemu-system ?

(Note: Empirically, on armhf, that struct is 32 Bytes big in C.
And indeed the Linux kernel contains a compat struct ifreq32 in fs/compat_ioctl.c)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl/3y80ACgkQ5xo1VCww
uqXEBQf/d01xj6mUC4LYTLJMU1iGXVv5MhPhf0YgoSELSwhqoqvKlLttGllUA8o/
OjXdO+C7OHm0XkOgvy/V42lVPuc7U9+/KsqvxatEWEn3N/mBBC/STHEJt/GPWhHJ
Z0+WBKhforwGNc78v81ewje6yq3xYCv1PakqAMNaa3IDPazYm69Q+GyrRo1YyiUZ
c+xRjaM7TgvckhMyBWyZBxwRf2GNM2P36UDR589sLRXlafmfndKcG22SYk79e928
2Smj0knB6zU+Xig3XPOoy5JBDGuGwc/MIuqqf5gl7WUJTY5+U6WTJ6k5z19ucGjH
L3+O3bYYRc1uWWLccDWc4drDwMC4jw==
=04uu
-----END PGP SIGNATURE-----


Stefan wrote 4 years ago
Re: Bug in ‘network-interface-names’ when building guix for aarch64 on x86_64.
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . ludo@gnu.org)(address . 45716@debbugs.gnu.org)
18A145C5-A200-4EEC-A559-5E3642521A3F@vodafonemail.de
Hi Danny and Ludo’!

Toggle quote (2 lines)
> Can you try printing (@@ (guix build syscalls) ifreq-struct-size) directly?

I did that, it's printing 40 in both cases. That’s the value which is ending up in stride.

Toggle quote (2 lines)
> Is it qemu-user or qemu-system?

~$ /usr/local/bin/qemu-system-x86_64 --version
QEMU emulator version 2.12.1 (-dirty)
Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers

Toggle quote (5 lines)
> (Note: Empirically, on armhf, that struct is 32 Bytes big in C.
> And indeed the Linux kernel contains a compat struct ifreq32 in fs/compat_ioctl.c)



Bye

Stefan
Stefan wrote 4 years ago
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . ludo@gnu.org)(address . 45716@debbugs.gnu.org)
E2AE7B8A-53B0-4C47-B05F-12D4055FE297@vodafonemail.de
Hi!

Toggle quote (2 lines)
> I think that should rather be (sizeof* '*) instead of (sizeof '*). Ludo?

For aarch64 I tried using ‘sizeof*’ instead of ‘sizeof’ in ‘ifreq-struct-size’, but this makes no different at all. Well, pointers have to be 8 bytes long on x86_64 and aarch64, so this was expected. However, it should make a difference for armhf, but I didn't try that.


Bye

Stefan
Stefan wrote 4 years ago
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . ludo@gnu.org)(address . 45716@debbugs.gnu.org)
18056543-1468-4B69-BFA8-F28CCA234168@vodafonemail.de
Hi!

I think I found the root cause of this issue in qemu. I'm about to prepare a patch.


Bye

Stefan
Stefan wrote 4 years ago
gnu: qemu: Fix ioclt(…, SIOCGIFCONF, …) for emulated 64 bit architectures.
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . ludo@gnu.org)(address . 45716@debbugs.gnu.org)
4928FA00-C99D-4C66-877E-308D0B8F3228@vodafonemail.de
* gnu/packages/virtualization.scm (qemu): Add a snippet to fix a bug in the
do_ioctl_ifconf() function of qemu to make ioclt(…, SIOCGIFCONF, …) work for
emulated 64 bit architectures.

The sizeof(struct ifreq) is 40 for 64 bit and 32 for 32 bit architectures.
This structure contains a union of other structures, of which struct ifmap
is the biggest for 64 bit architectures. Calling ioclt(…, SIOCGIFCONF, …)
fills a struct sockaddr of that union, and do_ioctl_ifconf() only considered
that struct sockaddr for the size of the union, which has the same size as
struct ifmap on 32 bit architectures. So do_ioctl_ifconf() assumed a wrong
size of 32 for struct ifreq instead of the correct size of 40 on 64 bit
architectures.

The fix makes do_ioctl_ifconf() handle struct ifmap as the biggest part of
the union, treating struct ifreq with the correct size.

This fixes (@ (guix build syscalls) network-interface-names) when used in
emulated 64 bit architectures.
---
gnu/packages/virtualization.scm | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 10eae8ea7d..f82a19ecf3 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -140,7 +140,17 @@
(sha256
(base32
"1rd41wwlvp0vpialjp2czs6i3lsc338xc72l3zkbb7ixjfslw5y9"))
- (patches (search-patches "qemu-build-info-manual.patch"))))
+ (patches (search-patches "qemu-build-info-manual.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* '("linux-user/syscall.c")
+ (("^([[:blank:]]*)const argtype ifreq_arg_type.*$" line indent)
+ (string-append line indent
+ "const argtype ifreq_max_type[] = { MK_STRUCT(STRUCT_ifmap_ifreq) };\n"))
+ (("^([[:blank:]]*)target_ifreq_size[[:blank:]]=.*$" _ indent)
+ (string-append indent "target_ifreq_size = thunk_type_size(ifreq_max_type, 0);")))
+ #t))))
(outputs '("out" "doc")) ;4.7 MiB of HTML docs
(build-system gnu-build-system)
(arguments
--
2.29.2
Ludovic Courtès wrote 4 years ago
Re: gnu: qemu: Fix ioclt(…, SIOCGIFCONF, …) for emulated 64 bit architectures.
(name . Stefan)(address . stefan-guix@vodafonemail.de)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 45716@debbugs.gnu.org)
87eeireh6y.fsf@gnu.org
Hi Stefan,

Stefan <stefan-guix@vodafonemail.de> skribis:

Toggle quote (19 lines)
> * gnu/packages/virtualization.scm (qemu): Add a snippet to fix a bug in the
> do_ioctl_ifconf() function of qemu to make ioclt(…, SIOCGIFCONF, …) work for
> emulated 64 bit architectures.
>
> The sizeof(struct ifreq) is 40 for 64 bit and 32 for 32 bit architectures.
> This structure contains a union of other structures, of which struct ifmap
> is the biggest for 64 bit architectures. Calling ioclt(…, SIOCGIFCONF, …)
> fills a struct sockaddr of that union, and do_ioctl_ifconf() only considered
> that struct sockaddr for the size of the union, which has the same size as
> struct ifmap on 32 bit architectures. So do_ioctl_ifconf() assumed a wrong
> size of 32 for struct ifreq instead of the correct size of 40 on 64 bit
> architectures.
>
> The fix makes do_ioctl_ifconf() handle struct ifmap as the biggest part of
> the union, treating struct ifreq with the correct size.
>
> This fixes (@ (guix build syscalls) network-interface-names) when used in
> emulated 64 bit architectures.

Woow, good catch!

Toggle quote (11 lines)
> + (modules '((guix build utils)))
> + (snippet
> + '(begin
> + (substitute* '("linux-user/syscall.c")
> + (("^([[:blank:]]*)const argtype ifreq_arg_type.*$" line indent)
> + (string-append line indent
> + "const argtype ifreq_max_type[] = { MK_STRUCT(STRUCT_ifmap_ifreq) };\n"))
> + (("^([[:blank:]]*)target_ifreq_size[[:blank:]]=.*$" _ indent)
> + (string-append indent "target_ifreq_size = thunk_type_size(ifreq_max_type, 0);")))
> + #t))))

Could you move the explanation as a comment above the ‘substitute*’
form, and/or link to the upstream bug report/discussion/submission?

Thank you!

Ludo’.
Ludovic Courtès wrote 4 years ago
Re: Bug in ‘network-interface-names’ when building guix for aarch64 on x86_64.
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(name . Stefan)(address . stefan-guix@vodafonemail.de)(address . 45716@debbugs.gnu.org)
87a6tfeh3z.fsf@gnu.org
Hi Danny,

Danny Milosavljevic <dannym@scratchpost.org> skribis:

Toggle quote (10 lines)
>>(define ifreq-struct-size
>> ;; 'struct ifreq' begins with an array of IF_NAMESIZE bytes containing the
>> ;; interface name (nul-terminated), followed by a bunch of stuff. This is
>> ;; its size in bytes.
>> (if (= 8 (sizeof '*))
>> 40
>> 32))
>
> I think that should rather be (sizeof* '*) instead of (sizeof '*). Ludo?

As you found out, it makes no difference. What changes is that
‘sizeof*’ is a compile-time computation (but it honors cross-compilation
targets) whereas ‘sizeof’ is a call made at run time.

Ludo’.
Stefan wrote 4 years ago
[PATCH 1/1] gnu: qemu: Fix ioclt(… , SIOCGIFCONF, …) for emulated 64 bit ar chitectures.
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 45716@debbugs.gnu.org)
D23BCF30-87F9-47C3-B4B9-9DC4A2F4DA57@vodafonemail.de
* gnu/packages/virtualization.scm (qemu): Add a snippet to fix a bug in the
do_ioctl_ifconf() function of qemu to make ioclt(…, SIOCGIFCONF, …) work for
emulated 64 bit architectures.

The sizeof(struct ifreq) is 40 for 64 bit and 32 for 32 bit architectures.
This structure contains a union of other structures, of which struct ifmap
is the biggest for 64 bit architectures. Calling ioclt(…, SIOCGIFCONF, …)
fills a struct sockaddr of that union, and do_ioctl_ifconf() only considered
that struct sockaddr for the size of the union, which has the same size as
struct ifmap on 32 bit architectures. So do_ioctl_ifconf() assumed a wrong
size of 32 for struct ifreq instead of the correct size of 40 on 64 bit
architectures.

The fix makes do_ioctl_ifconf() handle struct ifmap as the biggest part of
the union, treating struct ifreq with the correct size.

This fixes (@ (guix build syscalls) network-interface-names) when used in
emulated 64 bit architectures.
---
gnu/packages/virtualization.scm | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)

Toggle diff (30 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 10eae8ea7d..e773fe357d 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -140,7 +140,22 @@
(sha256
(base32
"1rd41wwlvp0vpialjp2czs6i3lsc338xc72l3zkbb7ixjfslw5y9"))
- (patches (search-patches "qemu-build-info-manual.patch"))))
+ (patches (search-patches "qemu-build-info-manual.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Fix a bug in the do_ioctl_ifconf() function of qemu to
+ ;; make ioclt(…, SIOCGIFCONF, …) work for emulated 64 bit
+ ;; architectures. The size of struct ifreq is handled
+ ;; incorrectly.
+ ;; https://lists.nongnu.org/archive/html/qemu-devel/2021-01/msg01545.html
+ (substitute* '("linux-user/syscall.c")
+ (("^([[:blank:]]*)const argtype ifreq_arg_type.*$" line indent)
+ (string-append line indent
+ "const argtype ifreq_max_type[] = { MK_STRUCT(STRUCT_ifmap_ifreq) };\n"))
+ (("^([[:blank:]]*)target_ifreq_size[[:blank:]]=.*$" _ indent)
+ (string-append indent "target_ifreq_size = thunk_type_size(ifreq_max_type, 0);")))
+ #t))))
(outputs '("out" "doc")) ;4.7 MiB of HTML docs
(build-system gnu-build-system)
(arguments
--
2.29.2
Ludovic Courtès wrote 4 years ago
Re: [PATCH 1/1] gnu: qemu: Fix ioclt(…, SIOCGIFCONF, …) for emulated 64 bit architectures.
(name . Stefan)(address . stefan-guix@vodafonemail.de)(address . 45716-done@debbugs.gnu.org)
87bldr63ja.fsf@gnu.org
Hi,

Stefan <stefan-guix@vodafonemail.de> skribis:

Toggle quote (19 lines)
> * gnu/packages/virtualization.scm (qemu): Add a snippet to fix a bug in the
> do_ioctl_ifconf() function of qemu to make ioclt(…, SIOCGIFCONF, …) work for
> emulated 64 bit architectures.
>
> The sizeof(struct ifreq) is 40 for 64 bit and 32 for 32 bit architectures.
> This structure contains a union of other structures, of which struct ifmap
> is the biggest for 64 bit architectures. Calling ioclt(…, SIOCGIFCONF, …)
> fills a struct sockaddr of that union, and do_ioctl_ifconf() only considered
> that struct sockaddr for the size of the union, which has the same size as
> struct ifmap on 32 bit architectures. So do_ioctl_ifconf() assumed a wrong
> size of 32 for struct ifreq instead of the correct size of 40 on 64 bit
> architectures.
>
> The fix makes do_ioctl_ifconf() handle struct ifmap as the biggest part of
> the union, treating struct ifreq with the correct size.
>
> This fixes (@ (guix build syscalls) network-interface-names) when used in
> emulated 64 bit architectures.

Applied, thanks!

Ludo’.
Closed
Stefan wrote 4 years ago
Re: Bug in ‘network-interface-names’ when building guix for aarch64 on x86_64.
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 45716-done@debbugs.gnu.org)
BAFDEBFD-EB44-4576-B1A0-444057CBE801@vodafonemail.de
Hi Ludo’!

Toggle quote (2 lines)
> Applied, thanks!

Thanks.

Unfortunately the bug still appears on ci.guix.gnu.org, for example see https://ci.guix.gnu.org/build/204877/details.

I think that the build machines need to be reconfigured to get the fixed qemu version.


Bye

Stefan
Closed
Leo Famulari wrote 4 years ago
Re: bug#45716: Bug in ‘net work-interface-names ’ when building guix for aarch64 on x86_64.
(name . Stefan)(address . stefan-guix@vodafonemail.de)(name . Ludovic Courtès)(address . ludo@gnu.org)(name . guix-sysadmin@gnu.org)(address . guix-sysadmin@gnu.org)(address . 45716-done@debbugs.gnu.org)
YAyDfk3AZiqkm/l8@jasmine.lan
On Sat, Jan 23, 2021 at 04:27:05PM +0100, Stefan wrote:
Toggle quote (10 lines)
> Hi Ludo’!
>
> > Applied, thanks!
>
> Thanks.
>
> Unfortunately the bug still appears on ci.guix.gnu.org, for example see <https://ci.guix.gnu.org/build/204877/details>.
>
> I think that the build machines need to be reconfigured to get the fixed qemu version.

Forwarding to guix-sysadmin so it doesn't get lost.
Closed
Ludovic Courtès wrote 4 years ago
Re: bug#45716: Bug in ‘network-interface-names ’ when building guix for aarch64 on x86_64.
(name . Leo Famulari)(address . leo@famulari.name)(name . Mathieu Othacehe)(address . othacehe@gnu.org)(name . Stefan)(address . stefan-guix@vodafonemail.de)(name . guix-sysadmin@gnu.org)(address . guix-sysadmin@gnu.org)(address . 45716-done@debbugs.gnu.org)
87tuqvijz8.fsf@gnu.org
Hi,

Leo Famulari <leo@famulari.name> skribis:

Toggle quote (13 lines)
> On Sat, Jan 23, 2021 at 04:27:05PM +0100, Stefan wrote:
>> Hi Ludo’!
>>
>> > Applied, thanks!
>>
>> Thanks.
>>
>> Unfortunately the bug still appears on ci.guix.gnu.org, for example see <https://ci.guix.gnu.org/build/204877/details>.
>>
>> I think that the build machines need to be reconfigured to get the fixed qemu version.
>
> Forwarding to guix-sysadmin so it doesn't get lost.

Yes, I noticed that this test is still failing on emulated AArch64.

Mathieu, did you reconfigure the build nodes recently or should we do so?

Thanks,
Ludo’.
Closed
Mathieu Othacehe wrote 4 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)(name . Stefan)(address . stefan-guix@vodafonemail.de)(name . guix-sysadmin@gnu.org)(address . guix-sysadmin@gnu.org)(address . 45716-done@debbugs.gnu.org)(name . Leo Famulari)(address . leo@famulari.name)
87ft2ec2lk.fsf@gnu.org
Hey Ludo,

Toggle quote (2 lines)
> Mathieu, did you reconfigure the build nodes recently or should we do so?

Yes, I reconfigured them yesterday with Guix at
85843123dedc3060a128457f7814d7461cccb412.

Mathieu
Closed
Stefan wrote 4 years ago
(name . Mathieu Othacehe)(address . othacehe@gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)(address . guix-sysadmin@gnu.org)(address . 45716-done@debbugs.gnu.org)(name . Leo Famulari)(address . leo@famulari.name)
C629773E-E3B7-4D71-BD0B-A19B419FB901@vodafonemail.de
Hi Mathieu!


Toggle quote (3 lines)
> Yes, I reconfigured them yesterday


Could it be that the services qemu-binfmt and guix-daemon still need to be restarted?


Bye

Stefan
Attachment: file
Closed
Mathieu Othacehe wrote 4 years ago
(name . Stefan)(address . stefan-guix@vodafonemail.de)(name . Ludovic Courtès)(address . ludo@gnu.org)(address . guix-sysadmin@gnu.org)(address . 45716-done@debbugs.gnu.org)(name . Leo Famulari)(address . leo@famulari.name)
87mtwf4udf.fsf@gnu.org
Hey Stefan,

Toggle quote (2 lines)
> Could it be that the services qemu-binfmt and guix-daemon still need to be restarted?

Just restarted those services, let's see what happens!

Thanks,

Mathieu
Closed
Stefan wrote 4 years ago
(name . Mathieu Othacehe)(address . othacehe@gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)(address . guix-sysadmin@gnu.org)(address . 45716-done@debbugs.gnu.org)(name . Leo Famulari)(address . leo@famulari.name)
EA04DF9D-E075-405B-BAE4-85DA2F785F43@vodafonemail.de
Hi Mathieu!

Toggle quote (3 lines)
> Just restarted those services, let's see what happens!



I just can’t tell if it got build on a x86_64 or an aarch64 machine. But the result matters. :-)


Bye

Stefan
Attachment: file
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 45716@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 45716
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help