[Shepherd] Replaced services remain active in the shadows

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
important
L
L
Ludovic Courtès wrote on 25 May 2023 14:59
(address . bug-guix@gnu.org)
87h6s0efdh.fsf@inria.fr
Hello!

A bug we noticed with the Shepherd 0.10.0 on berlin: after
reconfiguring, which registers a “replacement” for services currently
running, restarting said services (with ‘herd restart’ or similar, which
is supposed to instate the replacement) happens to leave the old service
behind.

Example: ‘ssh-daemon’ is marked as stopped because it cannot bind to
port 22; indeed, there’s still a service listening on port 22, the one
service that should have been replaced.

Likewise for ‘cuirass-web’ for instance: it’s marked as failing to
start, but in fact it’s running; if you try to kill the ‘cuirass web’
process, you can see it’s respawned and /var/log/messages shows that
very clearly.

What seems to happen is that, in both cases, the registry points to the
new service; ‘herd status’ & co. look up the service by name in the
registry, find the new service, and rightfully show that it’s stopped.
But the old service still exists: it’s no longer in the registry, but it
handles SIGCHLD, incoming connections on port 22, etc.

Ludo’.
L
L
Ludovic Courtès wrote on 25 May 2023 15:07
control message for bug #63717
(address . control@debbugs.gnu.org)
87fs7keezf.fsf@gnu.org
severity 63717 important
quit
L
L
Ludovic Courtès wrote on 25 May 2023 17:01
Re: bug#63717: [Shepherd] Replaced services remain active in the shadows
(address . 63717@debbugs.gnu.org)
87o7m8cv50.fsf@gnu.org
Ludovic Courtès <ludovic.courtes@inria.fr> skribis:

Toggle quote (6 lines)
> What seems to happen is that, in both cases, the registry points to the
> new service; ‘herd status’ & co. look up the service by name in the
> registry, find the new service, and rightfully show that it’s stopped.
> But the old service still exists: it’s no longer in the registry, but it
> handles SIGCHLD, incoming connections on port 22, etc.

Fixed in Shepherd commit 63af9d7c4460b55953bfa199ea44ac0114289b64.

We’ll have to make a new release soon.

Ludo’.
L
L
Ludovic Courtès wrote on 30 May 2023 00:20
(address . 63717-done@debbugs.gnu.org)
878rd6eq5d.fsf@gnu.org
Ludovic Courtès <ludo@gnu.org> skribis:

Toggle quote (12 lines)
> Ludovic Courtès <ludovic.courtes@inria.fr> skribis:
>
>> What seems to happen is that, in both cases, the registry points to the
>> new service; ‘herd status’ & co. look up the service by name in the
>> registry, find the new service, and rightfully show that it’s stopped.
>> But the old service still exists: it’s no longer in the registry, but it
>> handles SIGCHLD, incoming connections on port 22, etc.
>
> Fixed in Shepherd commit 63af9d7c4460b55953bfa199ea44ac0114289b64.
>
> We’ll have to make a new release soon.

Released 0.10.1, and updated the package in commit
b8f89ab2c9d0c459ce158ee16a4f4a6542b88ce0.

Ludo’.
Closed
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 63717
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