Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Oct 2022 22:09:52 -0400
From:      Jan Schaumann <jschauma@netmeister.org>
To:        freebsd-hackers@freebsd.org
Subject:   host unresponsive when setting time very far in the future
Message-ID:  <Y0y5cDu5aT/kLkuR@netmeister.org>

next in thread | raw e-mail | index | archive | help
Hello,

I've observed that trying to set the date _very_ far
in the future causes my FreeBSD AWS instance to become
unresponsive and requiring a forced reboot to come
back.  (I don't see an actual kernel panic, however.)

# date -f "%s" 44093078356492799
Fri Dec 31 23:59:59 UTC 1397255999

succeeds, but any second more (i.e., into the year
1397256000), and the system locks up.

After setting the date as above and waiting a few
seconds does increment the seconds since epoch just
fine into the year 1397256000:

# date +%s
44093078356492850
# date
Sat Jan  1 00:00:51 UTC 1397256000

so gettimeofday(2) has no problem with these numbers,
but it seems that settimeofday(2) does tickles the
kernel in a funny way?

What's the significance of this particular year?  If
tm_year is a 32-bit entity, then I'd expect it to max
out at epoch 67768036191676799 aka 12/31 23:59:59
2147485547, but that doesn't seem to be the case here.

Any ideas (a) what this limit is, and (b) why the
system doesn't handle it gracefully by e.g., returning
EINVAL?

-Jan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Y0y5cDu5aT/kLkuR>