emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#41546: closed (Shepherd network activation failures on armhf)


From: GNU bug Tracking System
Subject: bug#41546: closed (Shepherd network activation failures on armhf)
Date: Fri, 29 May 2020 16:36:01 +0000

Your message dated Fri, 29 May 2020 18:35:29 +0200
with message-id <87r1v2zoku.fsf@gnu.org>
and subject line Re: bug#41546: Shepherd network activation failures on armhf
has caused the debbugs.gnu.org bug report #41546,
regarding Shepherd network activation failures on armhf
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
41546: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=41546
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: Shepherd network activation failures on armhf Date: Tue, 26 May 2020 16:02:10 -0400
Hello,

I recently experienced a problem with the latest master branch code on an armhf device. I was able to track down and fix the issue but it required changes to guix/build/syscalls.scm.

My system previously booted correctly but after a recent 'guix pull' and 'guix system reconfigure' my device would fail to activate all networking related services on boot including loopback.

The error message on failure in the terminal when trying to 'herd start networking' was unhelpful but manual management of the network interfaces could be completed successfully so it seemed to be an issue specific to the way Shepherd was activating the loopback interface.

I was able to track my issue down to recently introduced code in guix/build/syscalls.scm related to the GNU Hurd.

The following patch fixes the problem for me. The core of the issue is that the new Hurd related  checks use string-suffix? rather than string-contains like the code elsewhere in the module. 

Whan string-suffix? is used it doesn't match my system %host-type which is "arm-unknown-linux-gnueabihf" and the xxxx-socket-address!/hurd branch is taken rather than xxxx-socket-address!/linux.

I don't know if this is only a problem on my unsupported device. I'm running guix system on a Raspberry Pi 4b.

Here's the patch that fixes the issue for me.
-------------------------
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index 8070c5546f..6be322d68f 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -1404,7 +1404,7 @@ bytevector BV at INDEX."
            (error "unsupported socket address" sockaddr)))))
 
 (define write-socket-address!
-  (if (string-suffix? "linux-gnu" %host-type)
+  (if (string-contains %host-type "linux-gnu")
       write-socket-address!/linux
       write-socket-address!/hurd))
 
@@ -1436,7 +1436,7 @@ bytevector BV at INDEX."
            (vector family)))))
 
 (define read-socket-address
-  (if (string-suffix? "linux-gnu" %host-type)
+  (if (string-contains %host-type "linux-gnu")
       read-socket-address/linux
       read-socket-address/hurd))
 ---------------------------

Best Regards,
Jesse


--- End Message ---
--- Begin Message --- Subject: Re: bug#41546: Shepherd network activation failures on armhf Date: Fri, 29 May 2020 18:35:29 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
Hi Jesse,

Jesse Dowell <jesse.dowell@gmail.com> skribis:

> I was able to track my issue down to recently introduced code in
> guix/build/syscalls.scm related to the GNU Hurd.
>
> The following patch fixes the problem for me. The core of the issue is that
> the new Hurd related  checks use string-suffix? rather than string-contains
> like the code elsewhere in the module.
>
> Whan string-suffix? is used it doesn't match my system %host-type which is
> "arm-unknown-linux-gnueabihf" and the xxxx-socket-address!/hurd branch is
> taken rather than xxxx-socket-address!/linux.

Indeed, great investigation work!

> I don't know if this is only a problem on my unsupported device. I'm
> running guix system on a Raspberry Pi 4b.
>
> Here's the patch that fixes the issue for me.
> -------------------------
> diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
> index 8070c5546f..6be322d68f 100644
> --- a/guix/build/syscalls.scm
> +++ b/guix/build/syscalls.scm
> @@ -1404,7 +1404,7 @@ bytevector BV at INDEX."
>             (error "unsupported socket address" sockaddr)))))
>
>  (define write-socket-address!
> -  (if (string-suffix? "linux-gnu" %host-type)
> +  (if (string-contains %host-type "linux-gnu")
>        write-socket-address!/linux
>        write-socket-address!/hurd))
>
> @@ -1436,7 +1436,7 @@ bytevector BV at INDEX."
>             (vector family)))))
>
>  (define read-socket-address
> -  (if (string-suffix? "linux-gnu" %host-type)
> +  (if (string-contains %host-type "linux-gnu")
>        read-socket-address/linux
>        read-socket-address/hurd))

I pushed it as b56cbe8974c328a6c7bc28906478ef1b191ada4c on your behalf.

Thank you!

Ludo’.


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]