On Wed, Dec 15, 2021 at 01:03:04PM +0100, Tor Rune Skoglund wrote:
The system is using this drift file: /var/lib/chrony/drift . On this
particular system, the drift file had had its permissions and type changed
to this:
#ls -l /var/lib/chrony/drift
prwx------ 1 root root 0 Nov 28 16:54 /var/lib/chrony/drift
We do not know the reason for this change. The system is not something
someone can log into, so one theory is a file system error, another is some
kind of bug in chronyd.
chronyd doesn't create named pipes. Grepping the source code for
mkfifo shows zero instances.
However, due to the file type and permissions change, on the next reboot,
the openrc init.d script fails to start chronyd and just hangs forever,
blocking the boot process from proceeding. The core problem here is of
course the file change, but we think that chronyd still should not block
forever due to this, but rather report an error.
chronyd opens files with open(). If it's a named pipe, that will block
until something is written to the pipe as expected. I don't remember
seeing a program that would refuse to open a pipe.
If the system is prone to filesystem corruption, I think it would be
better to simply not use the drift file, or put it on tmpfs.