-
Notifications
You must be signed in to change notification settings - Fork 29
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
openntpd cannot adjust clock with TIME_ERROR reason #51
Comments
The problem still exists with openntpd-6.2p3, but not happen with Chronyd, so I'll switch to it.
|
Thanks for the report, I'll keep it open for when we get some time to address it. |
same issue on our side, we are gathering metrics with node exporter and using openntpd. The alerting rules reports that time is unsync whereas it is |
Hi, I released OpenNTPD 6.8p1 yesterday, which at least in local testing appears to have finally fixed this problem. I'd love some reports on this issue being resolved or still existing in other environments. |
Much better - now it correct 500ms in 10 minutes.. Correction -94 seconds skew will take ~31 hours. |
There is an CentOS 7 host with 4.12 kernel from ELrepo and Openntpd 6.2p3.
/var/log/messages is filled by tons of messages:
XX.YY is increased slowly but steadily.
Initially detected delta was relatively small (15 seconds), but current value is >350 secs.
strace -p$ntpd_pid says:
It seems that ntpd_adjtime calls adjtime() from glibc, and adjtime calls adjtimex() and ignores positive return values.
So adjtimex() returns TIME_ERROR to adjtime(), but openntpd dont knows about that because adjtime() returns 0.
It would be useful to change ntpd_adjtime() behaviour:
call adjtimex() instead of adjtime()
handle TIME_ERROR result -- for example, decrease requested delta and call adjtimex() again:
The text was updated successfully, but these errors were encountered: