Bug#544202: /etc/init.d/checkroot.sh: hanging after filesystem check if not running usplash and/or VERBOSE=yes

Pierre Ynard linkfanel at yahoo.fr
Wed Feb 20 08:22:49 GMT 2019

> If VERBOSE is set and/or usplash is not running, checkroot.sh will
> hang after the filesystem check:

> This is because with VERBOSE set or usplash not running checkroot.sh
> will run fsck via logsave in the foreground (i.e. wait for it to
> return):

> But since the rootfs is not mounted read-write yet the logs can't be
> saved, so logsave never exits.

As far as I can tell, logsave normally returns immediately after its
command (fsck here) exits, and goes into the background to wait until
logs can be saved, so this explanation for the hang would be inaccurate.

However there used to be a file descriptor leak in logsave that could
cause it to never return: it was reported as #682592 and described to
cause /etc/init.d/checkroot.sh to hang like here, and was fixed long

Meanwhile, the usplash logic that needed to conditionally launch logsave
and fsck in the background, was removed (without mention in an unrelated
/run overhaul):


I suppose the real diagnostic for this issue would have been #682592,
and the usplash background logic worked as mitigation until removed.
Nowadays logsave/fsck are never launched in the background, and it seems
to work fine for everyone. #682592 was fixed so I would suggest that we
close this too.

Pierre Ynard

More information about the Debian-init-diversity mailing list