S2000 Electronics Information and discussion related to S2000 electronics such as ICE, GPS, and alarms.

S2K Year 2038 Bug

Thread Tools
 
Old 02-12-2018, 04:08 PM
  #1  
Registered User

Thread Starter
 
davidsdiego's Avatar
 
Join Date: Oct 2009
Location: San Diego
Posts: 143
Likes: 0
Received 0 Likes on 0 Posts
Default S2K Year 2038 Bug

Has anyone thought about the Year 2038 Bug for the S2000? I figured ABS might be affected for AP1s, due to 32-bit for embededed systems, like ABS at that time. I know this is 20 years away, although I’m sure I’m not the only S2000 owner thinking about the implications of this.

From an article: “The computers that have the potential to cause the biggest issues are those embedded systems that cannot be upgraded. They are used in many transportation systems and other long-living devices, equipment such as stability control systems in cars or other isolated computer-based systems.”

https://www.theguardian.com/technolo...he-new-y2k-bug
Old 02-12-2018, 11:48 PM
  #2  

 
Scigheras's Avatar
 
Join Date: Sep 2016
Location: the Netherlands
Posts: 506
Received 74 Likes on 65 Posts
Default

Not a single stock electrical component in our cars stores the current time and date, so I don't see why we would have any problems
Old 02-13-2018, 04:40 AM
  #3  
Registered User

Thread Starter
 
davidsdiego's Avatar
 
Join Date: Oct 2009
Location: San Diego
Posts: 143
Likes: 0
Received 0 Likes on 0 Posts
Default

Originally Posted by Scigheras
Not a single stock electrical component in our cars stores the current time and date, so I don't see why we would have any problems
The last time I checked, all S2000s have ABS, ECUs, and other similar components, which some are embedded systems. Usually the hardware and software are internal and are not exposed to the user, kind of like firmware for a device.

It would be nice to know if someone has tested this.
Old 02-14-2018, 12:55 AM
  #4  

 
Scigheras's Avatar
 
Join Date: Sep 2016
Location: the Netherlands
Posts: 506
Received 74 Likes on 65 Posts
Default

Originally Posted by davidsdiego


The last time I checked, all S2000s have ABS, ECUs, and other similar components, which some are embedded systems. Usually the hardware and software are internal and are not exposed to the user, kind of like firmware for a device.

It would be nice to know if someone has tested this.
Ok let me elaborate on my previous post.

For a system to experience undefined behaviour because of such a bug, it needs to store and use the current date and time somewhere. For example something like a calendar app, or an (embedded) system that makes appointments or a weekly planning.
Then in 2038, the dates in these programs could get corrupted, displaying wrong dates which could maybe break the program completely.
Nothing in our cars use date and time so there is nothing to worry about, they simply do not contain this information.

Look at it from another view: even if our cars used the current date and time in one of their electrical components, to store the current date you need to save that in program memory, which would get erased if the battery in a car flatlines, just like the OEM radio clock resets after a battery disconnect.
So even if our cars wanted to and could break on purpose in 2038, they can't because they won't even know when it actually will be 2038, unless their battery has NEVER been disconnected and the correct current date and time were programmed into them from the factory.

Nothing is going to happen.

Last edited by Scigheras; 02-14-2018 at 12:57 AM.
Old 02-14-2018, 11:30 AM
  #5  
Registered User

 
engifineer's Avatar
 
Join Date: May 2014
Posts: 5,651
Received 1,193 Likes on 926 Posts
Default

On that date it will think it is the first day of the epoch in 1970 and your car will cease to exist because the s2k was not made in 1970 .....

:P seriously though....

Our ECU has no idea what time it is or what date it is. It has no connection to update time even if it did (would require a network connection). ABS never has any reason to care what time it is or what the date is. It just operates by updating a register on regular intervals and producing actions based upon those inputs. Think of the clock in an ECU like ours as nothing as a metronome. It is not a clock in terms of storing the date, it just ticks away at a constant rate which controls the timing of actions by the ECU. Only applications requiring the date and time to be stored do so, and control systems like those in our cars do not need this info to operate. If they did, they would have a cell modem embedded so they could obtain network time updates. Otherwise the time would drift and be off, even if the battery were never disconnected.

And the whole 2038 issue will be as big of a deal as y2k was. While some profited by making everyone think the world would end, it was never that large of a risk and software updates simply had to be made. If they had not been made it would have caused some issues that were totally recoverable, not some world ending, bank accounts not existing, type of failure that people thought it would
Old 02-15-2018, 06:41 AM
  #6  
Registered User

Thread Starter
 
davidsdiego's Avatar
 
Join Date: Oct 2009
Location: San Diego
Posts: 143
Likes: 0
Received 0 Likes on 0 Posts
Default

Originally Posted by engifineer
On that date it will think it is the first day of the epoch in 1970 and your car will cease to exist because the s2k was not made in 1970 .....

:P seriously though....

Our ECU has no idea what time it is or what date it is. It has no connection to update time even if it did (would require a network connection). ABS never has any reason to care what time it is or what the date is. It just operates by updating a register on regular intervals and producing actions based upon those inputs. Think of the clock in an ECU like ours as nothing as a metronome. It is not a clock in terms of storing the date, it just ticks away at a constant rate which controls the timing of actions by the ECU. Only applications requiring the date and time to be stored do so, and control systems like those in our cars do not need this info to operate. If they did, they would have a cell modem embedded so they could obtain network time updates. Otherwise the time would drift and be off, even if the battery were never disconnected.

And the whole 2038 issue will be as big of a deal as y2k was. While some profited by making everyone think the world would end, it was never that large of a risk and software updates simply had to be made. If they had not been made it would have caused some issues that were totally recoverable, not some world ending, bank accounts not existing, type of failure that people thought it would
You and Scighers brought up some great points, thank you! I was also thinking about a required power source, like a CMOS battery or resetting to 1970. Since the ECU is some type of computer, it most likely would have a 32-bit or 64-bit architecture. This is in regards to the limits of 32 vs 64 in storage and perhaps dates. A similar example is IPv4 and IPv6.

I’m still curious if anyone has tested this? Perhaps not and I’m just jumping the gun, lol.
Old 02-15-2018, 07:05 AM
  #7  
Registered User

 
engifineer's Avatar
 
Join Date: May 2014
Posts: 5,651
Received 1,193 Likes on 926 Posts
Default

Look at it this way, if the ECU is using logic that required accurate date/time info, it would have already failed on you Without a connection to a stable time source (GPS sat with an atomic clock, internet connection that also uses similar time reference which is correct) any ECU will have drift in its time keeping. This is why digital clocks in cars, even if the battery is not removed, will eventually drift. Many influences (especially in a harsh automotive environment) cause crystal oscillators even to drift. This and other issues cause the time to drift unless constantly being updated from an outside source.

ABS has no reason to care what time it is, nor do any other systems on this car. The only reason a buffer overflow in a date register would cause an issue is if the system is making calculations based upon the precise date. That is not needed for anything our ECU does.

If you want to test it, pull the battery for a day and put it back in. If the date was an issue, it would fail right there. I dont care what backup battery is in it, said battery would be all but useless after 10+ years of use in an automobile. So no matter how you look at it, it is not a concern.
Old 02-15-2018, 03:10 PM
  #8  

 
Unbeliever's Avatar
 
Join Date: Sep 2009
Posts: 125
Likes: 0
Received 5 Likes on 4 Posts
Default

Originally Posted by engifineer
On that date it will think it is the first day of the epoch in 1970 and your car will cease to exist because the s2k was not made in 1970 .....
[nitpick]
The 2038 bug is a 32-bit signed integer issue. So when the value rolls over, it goes from INT_MAX to INT_MIN, not to zero. That means for systems that store time as a 32 bit number, on Tuesday, January 19, 2038, time will roll from 3:14:07 AM GMT to Friday, December 13, 1901 8:45:52 PM GMT, not Thursday, January 1, 1970 Midnight GMT. (0x7FFFFFFF to 0x80000000, or 2147483647 seconds to -2147483648 seconds)
[/nitpick]

--Carlos V.
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
kolyan2k
Car and Bike Talk
2
08-15-2013 08:52 AM
dyhppy
S2000 Talk
0
12-28-2006 02:07 PM
eyeofthetiger
UK & Ireland S2000 Community
1
04-03-2004 12:33 AM
nnshani
S2000 Talk
22
07-21-2003 05:04 PM
Moely
S2000 Talk
0
11-02-2000 05:34 PM



Quick Reply: S2K Year 2038 Bug



All times are GMT -8. The time now is 12:29 PM.