[87644] in North American Network Operators' Group
Re: Leap second reminder
daemon@ATHENA.MIT.EDU (Kevin Day)
Sat Dec 31 14:32:51 2005
In-Reply-To: <CEDEA43D-189F-4B1F-BE33-29EBCD0094A0@dragondata.com>
From: Kevin Day <toasty@dragondata.com>
Date: Sat, 31 Dec 2005 13:32:20 -0600
To: nanog@nanog.org
Errors-To: owner-nanog@merit.edu
--Apple-Mail-21-984034770
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=US-ASCII;
delsp=yes;
format=flowed
On Dec 31, 2005, at 11:58 AM, Kevin Day wrote:
>
>
> Just a reminder, at midnight UTC there's a leap second added to
> most time systems.
>
>
I've had quite a few replies already off list, that I'll sum up:
1) ISO 8601 specifically defines ":60" as a valid representation for
seconds, just for this event. If your app breaks, it's probably not
obeying the relevant RFC.
2) Anything using the obvious implementation of regular expressions
to check for a valid time is probably going to fail "23:59:60",
leading to events not being logged, or transient weirdness for that
second.
One example I thought of after a few minutes is SpamAssassin, who
will flag a mail header:
Date: Sat, 31 Dec 2005 23:59:60 +0000
As "INVALID_DATE", bumping up its spam score by 1.7 to 2.0(by
default), because of the regexp it uses which contains "[0-5][0-9]"
3) Two people have noted that their Juniper routers spat out some
strange ntpd messages earlier today, such as:
Dec 31 06:26:46 hostname xntpd[66479]: time reset 0.999681 s
Dec 31 06:48:11 hostname xntpd[66479]: time reset -0.437785 s
(local time set to America/Chicago)
4) You can't set your clock to 23:59:60 manually, which makes testing
what's going to happen difficult.
5) The "leap second pending" bit that's supposed to have been set by
now in NTP isn't being set by some clock sources, leading some to
wonder what they're planning on doing at midnight.
--Apple-Mail-21-984034770
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=ISO-8859-1
<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; "><BR><DIV><DIV>On Dec 31, 2005, =
at 11:58 AM, Kevin Day wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite"><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style=3D"margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; =
min-height: 14px; "><BR></DIV><DIV style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Just a =
reminder, at midnight UTC there's a leap second added to most time =
systems.</DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; "><BR></DIV></BLOCKQUOTE><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>I've had quite a few =
replies already off list, that I'll sum up:</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>1) ISO 8601 specifically =
defines ":60" as a valid representation for seconds, just for this =
event.=A0 If your app breaks, it's probably not obeying the relevant =
RFC.</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV>2) =
Anything using the obvious implementation of regular expressions to =
check for a valid time is probably going to fail "23:59:60", leading to =
events not being logged,=A0 or transient weirdness for that =
second.</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV>One =
example I thought of after a few minutes is SpamAssassin, who will flag =
a mail header:</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>Date: Sat, 31 Dec 2005 =
23:59:60 +0000</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>As "INVALID_DATE", bumping =
up its spam score by 1.7 to 2.0(by default), because of the regexp it =
uses which contains "[0-5][0-9]"</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>3) Two people have noted =
that their Juniper routers spat out some strange ntpd messages earlier =
today, such as:</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV=
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; "><FONT class=3D"Apple-style-span" face=3D"Arial">Dec =
31 06:26:46 hostname xntpd[66479]: time reset 0.999681 =
s</FONT></DIV><DIV style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; "><FONT class=3D"Apple-style-span" =
face=3D"Arial">Dec 31 06:48:11 hostname xntpd[66479]: time reset =
-0.437785 s</FONT></DIV><DIV>(local time set to =
America/Chicago)</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>4) You can't set your clock =
to 23:59:60 manually, which makes testing what's going to happen =
difficult.=A0</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>5) The "leap second =
pending" bit that's supposed to have been set by now in NTP isn't being =
set by some clock sources, leading some to wonder what they're planning =
on doing at midnight.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV></DIV></BODY></HTML>=
--Apple-Mail-21-984034770--