GNU bug report logs -
#34407
Shepherd won't close socket on exit
Previous Next
Reported by: nly <nly <at> disroot.org>
Date: Sat, 9 Feb 2019 19:58:01 UTC
Severity: normal
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#34407: Shepherd won't close socket on exit
which was filed against the guix package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 34407 <at> debbugs.gnu.org.
--
34407: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=34407
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hello,
iyzsong <at> member.fsf.org (宋文武) skribis:
> Yes, I have the 'rm /run/user/1000/shepherd/socket' workaround in my session
> script too...
I never had to do that because /run is wiped at boot time, like Danny
wrote.
> According to 'man 2 bind', the socket pathname should be deleted when no
> longer required, so a patch to fix this bug:
>
> From f171f6adb2fc6ee3bf4d25378c2e7bba109b43d8 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong <at> member.fsf.org>
> Date: Sun, 17 Feb 2019 11:27:28 +0800
> Subject: [PATCH] shepherd: Delete the socket file upon exit.
>
> Fixes <https://bugs.gnu.org/34407>.
>
> * modules/shepherd.scm (call-with-server-socket): New procedure.
> (main): Use it instead of 'open-server-socket'.
Pushed, thanks!
Ludo’.
[Message part 3 (message/rfc822, inline)]
Shepherd does not close the socket when exiting with `herd stop root`.
"bind: Address already in use"
~$ rm /run/user/1000/shepherd/socket
~$ shepherd
Service root has been started.
~$ herd status
error: connect: /run/user/1000/shepherd/socket: Connection refused
~$ shepherd
Service root has been started.
~$ Backtrace:
3 (primitive-load "/run/current-system/profile/bin/shepherd")
In shepherd.scm:
250:24 2 (main . _)
48:6 1 (open-server-socket _)
In unknown file:
0 (bind #<input-output: socket 13> #(1 "/run/user/1000/shepherd/socket") #)
ERROR: In procedure bind:
In procedure bind: Address already in use
C-c C-c
~$
This bug report was last modified 6 years and 49 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.