GNU bug report logs -
#77610
guix-daemon socket activation does not work on the hurd
Previous Next
Reported by: yelninei <at> tutamail.com
Date: Mon, 7 Apr 2025 16:30:03 UTC
Severity: normal
Done: Ludovic Courtès <ludo <at> gnu.org>
Full log
View this message in rfc822 format
Hi,
yelninei <at> tutamail.com writes:
> I tested guix-publish and that had no issues.
You mean the first ‘wget -O …’ passes?
> Some checks I did yesterday with guix-dameon:
> - Shepherd is passing a blocking socket
> - The "fdSocket" in "acceptConnection" is always blocking.
> - the "remote" socket in "acceptConnection" is O_NONBLOCK on the first connection only.
Looking at ‘accept4.c’ in libc, the only way ‘remote’ can be O_NONBLOCK
is if:
1. ‘accept4’ is passed SOCK_NONBLOCK, but that’s not the case here
(see ‘accept.c’);
2. ‘__socket_accept’ returns a O_NONBLOCK socket, which would be a bug
in the server, pflocal.
At first sight ‘S_io_set_all_openmodes’ in pflocal does the job and
‘S_socket_accept’ honors those flags.
> Adding the same check as for the fd 3 socket for O_NONBLOCK to the
> "connection" socket after accept to tests/systemd.sh passes on Linux
> but causes a failure on the Hurd.
So we have a reproducer.
Could you pass it on to bug-hurd? :-) It may be easier if the whole
thing is in C.
> I am unsure what to do about this because shepherd seems to do
> everything correctly. I saw that ci.g.g.o has started to build
> i586-gnu substitutes (in particular gcc-final) but if you are
> restarting the builders more aggressively now then each first build
> will fail because of this and idk if cuirass can reschedule builds on
> such failures.
Yeah, it’s not great. Those will have to be restarted manually I’m
afraid, but most of the time anybody can click on the “Restart” button
in Cuirass.
> Maybe the easiest is to to expose the #:lazy-start? option for now and disable it for guix-daemon in %base-services/hurd ?
Hmm maybe. Let’s first figure out if this is Hurd bug.
Thanks for investigating!
Ludo’.
This bug report was last modified 27 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.