On Sat, Mar 01, 2008 at 02:09:07PM -0800, Larry Doolittle wrote:
> The runit-1.8.0-3 changelog includes
>  * debian/runit.preinst, debian/runit.postinst: move away from /var/service/
>    to /etc/service/; restart runsvdir; retain backward compatibility symlink
>    /var/service -> /etc/service until rdepends have adopted (#461478).
> which presumably triggers the effect I saw.

Yes, you're completely right, due to this transition, the postinst
script sends (as final task) a SIGHUP to the running runsvdir, causing
it to send TERM to all runsv processes it monitors and exit.  It'll then
be restarted by pid 1 with /etc/service as argument.

> I was able to complete the upgrade by performing it from a console
> that is not managed by runit.

Great.  I'm not sure how it happened that no runit-supervised service
were running on your system.  I understand that X might be taken down,
but all the services should be re-activated afterwards.  -3 had the
problem you've seen, but I thought I fixed it in -4.

> Whatever strategy is adopted for making this transition needs to
> deal more gracefully with the possibility that apt/dpkg are run
> from a process that will be terminated by a blanket runsvdir restart.
> In my case I use getty's managed from runit, and X via startx from
> there.  Other usage patterns will be different -- how about a console
> started from sshd managed by runit, or {g,w,x}dm started from runit?

I tested through a console login and through ssh login, that worked fine
for me.  The services got the TERM signal, but for ssh this doesn't
affect currently established connections, and a local login shell
ignores the TERM.  I now tested gdm managed through runit, and can
reproduce the problem that X gets stopped while the runit upgrade.  Not
good.

Maybe I shouldn't restart runsvdir at all, keep the /var/service ->
/etc/service compatibility symlink forever on upgraded systems.  Those
systems get rebooted eventually, and then have runsvdir running in
/etc/service/ as it should.

Thanks for your good problem report, Gerrit.



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to