#1011533 chrony: kdevops reboot-limit fails between 50-12,000 reboots

Package:
chrony
Source:
chrony
Description:
Versatile implementation of the Network Time Protocol
Submitter:
Luis Chamberlain
Date:
2026-06-22 20:41:02 UTC
Severity:
important
Tags:
#1011533#5
Date:
2022-05-24 17:07:56 UTC
From:
To:
Dear Maintainer,

When using the new kdevops [0] reboot-limit [1] test to see how may reboots
can happen with debian-testing without a failure I ran have ran 3 tests
with different kernels with the following observations. The point of the
test is to simply instantiate vagrant debian-testing guests, and then
reboot them and detect with ansible if ssh access to the guest is
possible. The test fails upon an ssh timeout or crash. In the list below
a + indicates the test is still running. A single digit expresses how many
times reboots completed successfully.

kernel         | reboots     | with-fix
-------------------------------------------------------------------------                                                                                                                  
v5.10.105      | 500         | not-tested-yet
v5.17-rc7      | 1,200       | 2,000+
5.17.0-1-amd64 | 3,300+      | first-run-stil-running

Upon inspection on the failed boots on v5.10.105 and v5.17-rc7 I
noticed the following on both systems:

root@rebootlimit ~ # sudo systemctl list-units --failed
  UNIT              LOAD   ACTIVE SUB    DESCRIPTION
    ● ifup@eth0.service loaded failed failed ifup for eth0

I can see then (scraped from a console, sorry about formatting):

]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
]: DHCPOFFER of 192.168.121.240 from 192.168.121.1
]: DHCPREQUEST for 192.168.121.240 on eth0 to 255.255.255.255 port 67
]: DHCPACK of 192.168.121.240 from 192.168.121.1
]: bound to 192.168.121.240 -- renewal in 1699 seconds.
nd to 192.168.121.240 -- renewal in 1699 seconds.
-parts: /etc/network/if-up.d/chrony exited with return code 1                                                                                                                                 
p: failed to bring up eth0
ifup@eth0.service: Main process exited, code=exited, status=1/FAILURE
ifup@eth0.service: Failed with result 'exit-code'.

The important line is:

May 21 10:58:58 rebootlimit sh[693]: run-parts: /etc/network/if-up.d/chrony exixited with return code 1

Using $(virsh net-dhcp-leases vagrant-libvirt) I see no takers of the IP
address and so there has not been clashes. So my next best guesss given
the lack of output from chrony is that this is a race on bootup.

I'm still testing things but the following adjustment seems to have
helped so far.
--- /etc/network/if-up.d/chrony.old	2022-05-24 16:40:53.112439882 +0000
+++ /etc/network/if-up.d/chrony	2022-05-24 16:41:23.452471796 +0000
@@ -5,6 +5,7 @@
 [ -x /usr/sbin/chronyd ] || exit 0

 if [ -e /run/chrony/chronyd.pid ]; then
+    systemctl is-system-running --wait
     chronyc onoffline > /dev/null 2>&1
 fi


[0] https://github.com/linux-kdevops/kdevops
[1] https://github.com/linux-kdevops/kdevops/blob/master/workflows/demos/reboot-limit/Kconfig

#1011533#10
Date:
2022-05-24 17:19:31 UTC
From:
To:
Cc'ing Amir so he's aware. The subject is off, it should be between
500-1,200 reboots.

Each kdevops reboot-limit digit bump on the .kernel-ci.ok file
after runnning 'make reboot-limit-baseline-loop' represents
100 tests run, su just multiply the number on the file with 100.

Note that if you don't enable the CONFIG_WORKFLOW_LINUX_CUSTOM=y
you will just use the default distro kernel and there seems to be
no failures there yet.

  Luis

#1011533#15
Date:
2022-05-24 17:19:31 UTC
From:
To:
Cc'ing Amir so he's aware. The subject is off, it should be between
500-1,200 reboots.

Each kdevops reboot-limit digit bump on the .kernel-ci.ok file
after runnning 'make reboot-limit-baseline-loop' represents
100 tests run, su just multiply the number on the file with 100.

Note that if you don't enable the CONFIG_WORKFLOW_LINUX_CUSTOM=y
you will just use the default distro kernel and there seems to be
no failures there yet.

  Luis

#1011533#20
Date:
2022-05-24 17:58:26 UTC
From:
To:
The patch I proposed could probably be simplified by using systemd
logic for dependencies matching. What that is, is not clear, but
clearly there is a race which the hack seems to resolve.

  Luis

#1011533#25
Date:
2022-05-24 17:58:26 UTC
From:
To:
The patch I proposed could probably be simplified by using systemd
logic for dependencies matching. What that is, is not clear, but
clearly there is a race which the hack seems to resolve.

  Luis

#1011533#40
Date:
2026-06-22 20:38:16 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
chrony, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1011533@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Vincent Blut <vincent.debian@free.fr> (supplier of updated chrony package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Mon, 22 Jun 2026 16:52:45 +0200
Source: chrony
Architecture: source
Version: 4.8-4
Distribution: unstable
Urgency: medium
Maintainer: Vincent Blut <vincent.debian@free.fr>
Changed-By: Vincent Blut <vincent.debian@free.fr>
Closes: 1011533
Changes:
 chrony (4.8-4) unstable; urgency=medium
 .
   * debian/:
     - Bump dh compat to 14.
 .
   * debian/chrony.{if*,ppp*}:
     - Don't exit immediately if `chronyc onoffline` fails (Closes: #1011533)
     - Check for chronyd.sock instead of chronyd.pid. The existence of the PID
     file does not guarantee that the command socket is available.
 .
   * debian/control:
     - Bump Standards-Version to 4.7.4 (no changes required.)
 .
   * debian/copyright:
     - Update copyright year for debian/*.
Checksums-Sha1:
 3424c2c41ed1ca6731aec5eb82aee78ea502c2e2 2802 chrony_4.8-4.dsc
 bc633894516fc8e9458337bbe6a49e833817aa51 43420 chrony_4.8-4.debian.tar.xz
 f426ecaea22d94893ddc43e26c7827130fbbf66e 1237856 chrony_4.8-4.git.tar.xz
 4820d3f9bfe3622d8aaa8d906eddd4a2a16c3bfc 17476 chrony_4.8-4_source.buildinfo
Checksums-Sha256:
 1a02a81857569cd2f365121dbaa232d3544170335904ae9b9c447eeeb8fcc86d 2802 chrony_4.8-4.dsc
 4a69bff1cac6918e6cc1883113e46624f3967070fe872e26cbc85598188d4e9b 43420 chrony_4.8-4.debian.tar.xz
 076f7168f4e2b4d916d1c5291b648a1b0797ee63cffb6bbe4d8c0b21ce3b2800 1237856 chrony_4.8-4.git.tar.xz
 762d13dda517c40a0990a5f1d18043f8d9d23bde942dc21a02c0bac822f27fff 17476 chrony_4.8-4_source.buildinfo
Files:
 2b14eb08fe05faad06049fa75c57d771 2802 net optional chrony_4.8-4.dsc
 bceeecb994d3197452ab48503cd08e85 43420 net optional chrony_4.8-4.debian.tar.xz
 3f115a80432d1e6c356e91b1307f3bae 1237856 net None chrony_4.8-4.git.tar.xz
 e99bce5fdfaedf79ca9ac3f9ea7cc414 17476 net optional chrony_4.8-4_source.buildinfo
Git-Tag-Info: tag=b23624040aafce21c0e273dcc5f1e9afebd5f759 fp=1b939355ac4c35cadfbd739c06a328e00c6ace15
Git-Tag-Tagger: Paul Gevers <elbrus@debian.org>
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEN02M5NuW6cvUwJcqYG0ITkaDwHkFAmo5lHgACgkQYG0ITkaD
wHn+DRAAhHZlAYw/HYCRwgjjH5MVH/g8j8jOQJqZFadYOLgJyorWEP61vNHAmYgp
/Tpz3kJlVfVCNyEZ10Wfi0QsBMn4t507QCcSmGbfXiZUq2lB8vd9h2n2N6nXcthX
zyJe4mk0TlXI4/U47l3ZirmWe8/5RJXG2Lt/WuS7BSib7P20FHHiOwAkgWvDl/cv
YxIT4KXfYMztUzR53ymTfHUW2OhD7Hh/GLHBOSxZWoRjB5q+RVVXPzYjByIpXPh9
PRSSStcycYfytEj6sNR7JmTKnqpiOAtcQKwVVV1eLXUDsmRMoDE6F+5iUGlFI7YU
88l1F1j0aRR4+4nNx2jK4FIEgJ5zujLDa/Hhvs2faq83xC6+oexC8V07Bou1ysNi
V8biXfRn/7s6jTNa1oGej+a1XLzZlzE/L6B1rDgaIrHG/Q3mnEtUMbYsOGxlNa0h
6zfNvC3F1VPlQEpGyoqh59zoErXyZpfQD1lbyHG8uT322t+6EZDODyr7sDwQMzcy
+m9/+kSPPpJOGaH8l9QCKBNLMrzaalOwsR0inW40AgVEC8T7APDQ/9pR8iG3Miep
DjDC/6EiHzjDHWCgevr1sDPSvoofKhbVKCYu03cWg389/ZDom5TyhOpRxB4ksicE
ECR3RJJRfD8n+h7Ma5o8m/ulmaSz/A0RyrEqZrOoMC0ve62eKrc=
=g1St
-----END PGP SIGNATURE-----