New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Systemd 238.76-1 breaks systemd-timesyncd on Raspberry Pi #8719
Comments
Could you give us the following:
|
This problem occurred on the update I listed above to my 3 x RPi's all configured as generically as you could possibly get with systemd-networkd and simple DHCP clients. The RPi 3 uses a wifi connection, the 2 x RPi 2 use wired connections. Note, after seeing this problem I asked about it on the Arch ARM IRC where somebody else then checked their ARM box and confirmed the same problem. The Arch ARM packager then quickly released an Arch ARM systemd package with that single commit reverted. I will quote one of the RPi 2 wired configurations: ConfigurationNo
Debug log of systemd-timesyncd for failed case:
Debug log of systemd-networkd for failed case:
Debug log of systemd-timesyncd for OK case (with offending commit patched out):
Debug log of systemd-networkd for OK case (with offending commit patched out):
|
Note when I first saw this problem I also tried adding an |
Have an old Beaglebone Black lying around which I installed Arch ARM with the offending |
Thank you for the information. I do not know whether this is related to RTC or not. But now I am preparing a patch which fixes my previous commit. After submitting it as a PR, please test it. Thank you. |
…ager is not connected yet This also introduces `manager_is_connected()` helper function, which returns true when the manager is sending a request, resolving a server name, or in a poll interval. Follow-up for 3e85ec0. Fixes systemd#8719.
I've created #8727. If possible, please test it. Thank you. Note that a simple reproducer for this is,
With the above process, I confirm that the timesyncd does not send any request after the network cable is connected. And with #8727, such an issue is fixed. |
Also note that a workaround for this is simply restart timesyncd after network is fully configured. |
Applied that PR #8727 to the timesyncd running on my RPi and it did fix the problem. |
Thank you for testing. |
Submission type
Problem started after this update:
Used distribution
Arch Arm (armv7)
Bug description
Since the above recent Arch ARM package updates,
systemd-timesyncd
never time syncs after boot. Rolling back the above versions fixes the problem. I rolled back and forward a few times to repeat this and confirmed it on my 2 RPi2 and 1 RPi3. I updated my RPi1 also but the problem does not occur there (may be timing related because RPi1 is much slower). Restartingsystemd-timesyncd
clears the problem. Note that the RPi does not have a Real Time Clock so must time sync immediately after boot.It makes no difference which NTP server is used.
Unexpected behaviour
Here are the logs on a RPi with the bad version:
Expected behaviour
Here are the logs on a RPi with the previous good version:
Related Changes
The bug appears to have been introduced by commit 3e85ec0 which is from PR #8611. I compiled
systemd
for my RPi3 and proved that removing thatchange
variable from the if statement intimesyncd-manager.c
stops the fault occurring. I don't know the code well enough to propose the best way to guarantee the sync is forced but I can help with testing any proposed fix. @yuwataThe text was updated successfully, but these errors were encountered: