Bug#791944: /etc/init.d/sendsigs kills systemd-udevd upon shutdown, causing dmsetup to hang

Pali Rohár pali.rohar at gmail.com
Mon Jun 5 12:12:34 BST 2017


On Monday 05 June 2017 12:55:20 Michael Biebl wrote:
> Am 05.06.2017 um 09:59 schrieb Pali Rohár:
> > On Monday 05 June 2017 00:49:47 Michael Biebl wrote:
> >> Am 03.06.2017 um 19:44 schrieb Michael Biebl:
> >>> Am 03.06.2017 um 17:24 schrieb Felipe Sateler:
> >>>
> >>>> diff --git a/debian/udev.init b/debian/udev.init
> >>>> index ffef3ea6a..dcc5c29d5 100644
> >>>> --- a/debian/udev.init
> >>>> +++ b/debian/udev.init
> >>>> @@ -208,6 +208,7 @@ case "$1" in
> >>>>      stop)
> >>>>      log_daemon_msg "Stopping $DESC" "$NAME"
> >>>>      if start-stop-daemon --stop --name $NAME --user root --quiet --oknodo --retry 5; then
> >>>> +	rm -f /run/udev/control
> >>>
> >>> I think this is the correct fix, yes.
> >>>
> >>> We need to keep in mind though, that udev currently does not install any
> >>> stop (K) symlinks in runlevel 0 and 6, but we rely on the killing spree
> >>> in sendsigs to kill the udev process on shutdown.
> >>>
> >>> Which means, we'd need to start installing those K symlinks in 0 6.
> >>> For that, edit /etc/init.d/udev, add
> >>> # Default-Stop: 0 6
> >>> to the LSB header, then run
> >>>
> >>> # rm /etc/rcS.d/???udev
> >>> # update-rc.d udev defaults
> >>
> >> We need people using sysvinit to test that proposed fix and report back
> >> if it fixes that issue and does not introduce any new regressions.
> > 
> > That patch does not work, because order is:
> > 
> > /etc/rc0.d/K08cryptdisks
> > /etc/rc0.d/K09cryptdisks-early
> > /etc/rc0.d/K10udev
> > 
> > So that fix is called *after* crytptdisks which is too late.
> 
> Huh, how is that a problem?
> Either udev is running and the socket is available,
> or udev is not running and the socket is not available.
> 
> The problem afaiu is that udev was not running but the socket was still
> present.
> 
> 
> Have you actually tested the patch? If so, what was the problem?

Yes, I tested this patch and it does not help. Same problem is still
there -- full freeze of system when rebooting.

Problem is that in K08 and K09 phase is udev not running, but socket is
present. udev is probably killed by /etc/rc0.d/K03sendsigs which is
before K08 and K09. Above patch modify K10 which is *after* K08 and K09,
therefore it has absolutely no effect on fixing this issue.

I though that above order specified in previous email is enough to see
that patch cannot fix this problem (and really not fixed it).

It is more clear now that due to order of execution, it has no effect?
(K03 K08 K09 and K10)

-- 
Pali Rohár
pali.rohar at gmail.com





More information about the Pkg-systemd-maintainers mailing list