FS#43985 - [linux] kernel/time/ntp.c bug, chronyd fails to start, no more network time synchronization.

Attached to Project: Arch Linux
Opened by James (thx1138) - Saturday, 28 February 2015, 16:25 GMT
Last edited by Doug Newgard (Scimmia) - Saturday, 28 February 2015, 16:41 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To No-one
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

linux 3.19-1

Please see Red Hat Bug, reported 2015-02-01 19:31 EST:
Bug 1188074 - adjtimex fails with kernel-3.18.5 when ca
https://bugzilla.redhat.com/show_bug.cgi?id=1188074

This bug seems to be carried over from 3.18 and to uniquely effect 32bit systems, i686 and ARM builds, but not x86_64. The symptom is that chronyd will report something like:

chronyd[722]: Frequency -35.554 +/- 1.838 ppm read from /var/lib/chrony/drift
chronyd[722]: Fatal error : adjtimex failed for set_frequency, freq_ppm=-3.5554e+01 required_freq=3.5554e+01 required_tick=10000

I myself am seeing chronyd start normally on x86_64 linux 3.19-1, and fail on i686 linux 3.19-1.

There is a patch from Red Hat against kernel commit 5e5aeb4367b450a28f447f6d5ab57d8f2ab16a5f, from CommitDate: Wed Jan 7 09:50:32 2015 -0800,

http://git.kernel.org/linus/;a=commit;h=5e5aeb4367b450a28f447f6d5ab57d8f2ab16a5f

--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -634,9 +634,9 @@ int ntp_validate_timex(struct timex *txc)
return -EPERM;

if (txc->modes & ADJ_FREQUENCY) {
- if (LONG_MIN / PPM_SCALE > txc->freq)
+ if (-MAXFREQ_SCALED / PPM_SCALE > txc->freq)
return -EINVAL;
- if (LONG_MAX / PPM_SCALE < txc->freq)
+ if (MAXFREQ_SCALED / PPM_SCALE < txc->freq)
return -EINVAL;
}

I am not sure of the upstream status. Red Hat just has "I've emailed upstream."
This task depends upon

Closed by  Doug Newgard (Scimmia)
Saturday, 28 February 2015, 16:41 GMT
Reason for closing:  Duplicate
Additional comments about closing:   FS#43689 

Loading...