bug#63717: [Shepherd] Replaced services remain active in the shadows

2023-05-29 Thread Ludovic Courtès
Ludovic Courtès  skribis:

> Ludovic Courtès  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’.





bug#63717: [Shepherd] Replaced services remain active in the shadows

2023-05-25 Thread Ludovic Courtès
Ludovic Courtès  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.

Ludo’.





bug#63717: [Shepherd] Replaced services remain active in the shadows

2023-05-25 Thread Ludovic Courtès
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’.