Uh, oh... It appears that the (Alpine?) clock display in my 2007 Honda CR-V has a Y2022 bug. Every time I turn it on, the clock goes back to 2:00 on 1/1/2002.
The buzz on the net suggests an integer overflow that hit on 1/1/2022. They may be manipulating date/time with a decimal number with a value yymmddHHMM as a 32-bit signed integer, in a form like:
2112312359 for 2021/12/31 23:59, then
2201010001 for 2022 /01/01 00:01, but
2147483647 is the highest decimal number that can be represented.
You'd think a software engineer would ask themself, when deciding how to store date/time in a variable, how large a date would fit in there.
I've heard more recently, that someone heard back from Honda, who said they're investigating, and currently think the problem will resolve itself in August. If they're right about that, then the cause would clearly not be the overflow hypothesis. Maybe more related to a bug in handling GPS time 1024 week rollover.
I found this Wikipedia page that lists the known time representation bugs over the years, past and future.
No comments:
Post a Comment