[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#58485: [shepherd] EADDRINUSE while restarting ssh-daemon
From: |
Ludovic Courtès |
Subject: |
bug#58485: [shepherd] EADDRINUSE while restarting ssh-daemon |
Date: |
Fri, 28 Apr 2023 15:09:34 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Hi,
Ludovic Courtès <ludo@gnu.org> skribis:
>> 1 14:12:15.117035 read(21, "(shepherd-command (version 0) (action
>> restart) (service ssh-daemon) (arguments ()) (directory \"/root\"))", 1024)
>> = 103
>> 1 14:12:15.117254 close(27) = 0
>> 1 14:12:15.117283 close(30) = 0
>> 1 14:12:15.117416 newfstatat(AT_FDCWD, "/etc/localtime",
>> {st_dev=makedev(0x8, 0x2), st_ino=110100491, st_mode=S_IFREG|0444,
>> st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, s
>> t_size=2298, st_atime=1676898665 /* 2023-02-20T14:11:05.338746772+0100 */,
>> st_atime_nsec=338746772, st_mtime=1676898664 /*
>> 2023-02-20T14:11:04.874743456+0100 */, st_mtime_nsec=874743456, st_c
>> time=1676898664 /* 2023-02-20T14:11:04.874743456+0100 */,
>> st_ctime_nsec=874743456}, 0) = 0
>> 1 14:12:15.117475 write(17, "shepherd[1]: Service ssh-daemon has been
>> stopped.\n", 50) = 50
>> 1 14:12:15.117524 socket(AF_INET,
>> SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 26
>> 1 14:12:15.117561 setsockopt(26, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
>> 1 14:12:15.117598 bind(26, {sa_family=AF_INET, sin_port=htons(2222),
>> sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EADDRINUSE (Address already in use)
>> 1 14:12:15.117724 write(21, "(reply (version 0) (result #f) (error
>> (error (version 0) action-exception start ssh-daemon system-error (\"bind\"
>> \"~A\" (\"Address already in use\") (98)))) (messages (\"Service ssh-daemon
>> has been stopped.\")))", 204) = 204
>> 1 14:12:15.117754 close(21) = 0
[...]
> Maybe we should just have shepherd retry upon EADDRINUSE (like nginx
> does, as you wrote), though I’d like to understand under what conditions
> we can get EADDRINUSE in the first place.
Done:
https://git.savannah.gnu.org/cgit/shepherd.git/commit/?id=41789ee8d0e164967f9ca196db4e9601400a462e
Ludo’.