Your message dated Wed, 15 Feb 2006 16:52:51 +0000
with message-id <[EMAIL PROTECTED]>
has caused the Debian Bug report #352970,
regarding radioclk: wrong sync on plain second offsets
to be marked as having been forwarded to the upstream software
author(s) [EMAIL PROTECTED]
(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere. Please contact me immediately.)
Debian bug tracking system administrator
(administrator, Debian Bugs database)
--- Begin Message ---
This is radioclk's very first reported bug (apart from packaging-related
problems). Would you mind looking into it? I can see this mostly
affecting installations without external net access, as other NTP
peers/servers would override the radio clock value.
----- Forwarded message from Alain Guibert <[EMAIL PROTECTED]> -----
Subject: Bug#352970: radioclk: wrong sync on plain second offsets
Reply-To: Alain Guibert <[EMAIL PROTECTED]>, [EMAIL PROTECTED]
Date: Wed, 15 Feb 2006 15:40:06 +0100 (CET)
From: Alain Guibert <[EMAIL PROTECTED]>
To: Debian Bug Tracking System <[EMAIL PROTECTED]>
Package: radioclk
Version: 1.0-1
Severity: important
Hello,
When the offset between system time and radio time is around an integer
number of seconds, radioclkd 1.0 wrongly calculates the offset to the
nearest plain second.
Examples:
- If the real offset is +950 ms, radioclk will put into shared memory a
time whose offset is -50 ms.
- If real offset is +2050 ms, radioclk says +50.
- If real offset is +1500 ms, radioclk rightly says +1500.
This may lead ntpd to wrongly sync to the nearest plain second instead
of the true time, if the offset at startup is near this plain second
(±128 ms it seems), and if radioclk is the single source of time.
Problem seems to be in CalculatePPSAverage() design. It uses only
tv_usec member of pulse timestamps, totally ignoring tv_sec.
Possible solution could be either:
- Don't call CalculatePPSAverage() when the offset is over 128 ms.
- Redesign CalculatePPSAverage() to make use of tv_sec so it works in
any conditions.
Alain.
----- End forwarded message -----
--
Paul Martin <[EMAIL PROTECTED]>
signature.asc
Description: Digital signature
--- End Message ---