10 ms·
I have been working in the embedded world for some time. What worries me is that even new embedded systems come with ancient kernels and stdlibs, most of which
by LeonM 8y ago
I have been working in the embedded world for some time. What worries me is that even new embedded systems come with ancient kernels and stdlibs, most of which won't be y2k38 compatible.
Many of these devices will still be operating in 2038, but long forgotten. Think HVAC control systems, kitchen appliances, security systems, etc. Cars, trains, information signs, traffic lights, many of these public infrastructure systems will fail.
And these systems are very, very hard to update, if possible at all. We'll be having a lot of e-waste in 2038.
- chungy 8y agoI wonder how many of these systems would really be sensitive to the clock overflowing to 1901. HVAC, kitchen applications, information signs, traffic lights... they all seem relatively low-risk to me. As long as things still happen in regular intervals, it's hard to imagine a crisis. (I would be surprised if many of these even have synced clocks in the first place, I can imagine them happily thinking it's somewhere in the 1980s and nobody is the wiser.)
- corbet 8y agoI imagine that most of those applications are very much tied to the calendar — traffic lights and HVAC systems need to behave differently on different days. Trying to minimize the amount of broken code that's still running in 2038 is a big part of why people are working hard to fix the problem now.
- chungy 8y agoMaybe we could set them to 1907 and remain happy that near-future leap years and weekdays will align perfectly well. At least until 2100 needs to be skipped as a leap year ;)
- robocat 8y agoUnix epoch: the number of seconds passed since 1 January 1970 and storing it as a signed 32-bit binary integer The minimum representable date turns out to be on 1901 and zero is a valid value (1 January 1970)... I wonder what problems people with that birth date have? Similar to the person named Null, or Bobby Drop Tables?
- axiak 8y agoEven if the system isn't calendar aware, if all of a sudden you have negative timestamps you can have strange boundary conditions where loops might run forever, hanging the system.
- erik_seaberg 8y agoI will never forget discovering that "SELECT FROM_UNIXTIME(-1)" would instantly crash MySQL.
- DuskStar 8y agoDoes your system need to connect to a service on the internet? Does that service use an SSL cert? If so, it almost certainly has a not-before time, and overflowing back to January 1st, 1970 will be before that not-before time. And so any behavior relying on that IoT device connecting to a service will fail.
- artursapek 8y agoI certainly hope traffic lights are never connected to the internet.
- nopassrecover 8y agoI’d always assumed they must be connected to support the ability of fire engines to setup route plans or the central traffic management teams to be able to override light sequences. I see now there are other novel ways of supporting preemption for emergency vehicles, although I’m still unconvinced that’s what our city uses as the lights often preempt several minutes in advance and from over a kilometre away.
- adrianN 8y agoThey don't have to be connected to the Internet for that functionality.
- FireBeyond 8y agoMost US preemption devices are just a visible (and sometimes optional infrared) stroke at 80Hz. Visibility to the sensor/receiver device is largely subject to prevailing light (bright day, more challenging, night/shade, then it's easy to pick out the strobe). -- fire/ems provider.
- nexuist 8y agoQuestion, since I've always been curious about this: How difficult would it be to make your own preemption device? Are such things available on online stores? I'm assuming it's illegal to use one obviously, but I wonder what precautions are used to prevent unauthorized usage, if that can even be disclosed to the public. What's stopping the average joe from getting one from Alibaba?
- derekp7 8y agoThe rule I follow is the same one I had for Y2K. If there is no interface to enter a date, you don't have to worry about it. For example, on the sensationalized "documentaries" we had leading up to Y2K, they showed a stream of appliances and gadgets that had processors in them -- hair dryers, microwave ovens, dishwashers, food processors, etc saying they all would be vulnerable. Some of these display the time, but I haven't run across a microwave yet that accepted a date input.
- andrewflnr 8y agoThese days, the "date input" tends to be the internet connection.
- 3pt14159 8y agoThis is great for thinking about the non-internet connected devices. What's also interesting about this idea is that we can test what 2038 will be like by slowly shifting the time for certain networks forward to see if a subset of stuff will fail. If it does, we can resort to turning off systems.
- iClaudiusX 8y agoThe first-generation Zune had a leap year bug that caused it to get stuck in an infinite boot loop on December 31, 2008. Not exactly the kind of thing you want happening to traffic infrastructure.
- fyfy18 8y agoEven if it has no issues rolling over, a big problem could be that anything that works on a weekly cycle (I imagine traffic lights, HVAC, etc have different schedules for workdays compared to weekends) will skip some days, as Jan 19th 2038 is a Tuesday and Jan 13th 1901 is a Friday.
- max76 8y agoFollowing up with this, it is highly unlikely the overflow will happen at midnight, or at the top of an hour. Even if a timezone or clock adjustment is possible on the system leap years and other calendar offsets will be different that can cause some continuing frustration for any workaround with an out of sync clock.
- pishpash 8y agoYou never know, some devices may start incorporating AI algorithms that make behaviors based on past data, so a consistent timeline can become important even if there should be no inherent reliance on absolute dates.
- groby_b 8y agoHaving worked in embedded, I'm perfectly comfortable with horrible kludges that nonetheless solve the problem: In 2036, factory reset to wipe all state, and keep using the same ancient kernel with a tiny hotpatch to assume 1/1/2035 as time base. If your kitchen appliance is still around by the time that is a problem, you'll get an award ;) But don't tell anybody, I plan to hawk my consulting skills from 2030-2038 to pad my retirement income. Just like the good old Y2K days & COBOL.
- LeonM 8y agoSssssh, you just told the world my retirement plan!
- mulmen 8y agoHow does the hot patch solve the logistical challenge of installing firmware updates on thousands of devices that generally receive no updates at all? Am I supposed to pull my microwave out of the wall and ship it back to GE? Does it have a USB port for installing this hot patch? How does GE tell me about it?
- anyfoo 8y agoDo you care about your microwave showing the correct date? Does your microwave even keep track of the date? Devices like your microwave won't magically stop working in 2038. For most non-networked and, in 2038, ancient appliances, there shouldn't be that much of a problem.
- klodolph 8y agoShouldn’t, but I have to deal with things that “shouldn’t“ happen all the time. Remember, the Zune wouldn’t boot in 2009 because 2008 was a leap year, and that wasn’t tested.
- anyfoo 8y agoYeah, but I specifically said non-networked appliances. Most microwaves I know don't even let you input the date. For those that do, and that you still want to keep in 2038, you can just enter a fake, old date. I understand that there might be some smart microwaves with Wifi and whatever (setting all sentiments about that aside), but those are not what are meant.
- cjensen 8y agoTraffic lights were a concern for Y2K... but it turns out that in the real world, traffic lights just need a day-of-week so they continue to work fine.
- mulmen 8y agoOk but what happens when the date overflows? Will they still know Monday is Monday or will they start thinking Monday is Sunday?
- eridius 8y agoIs "y2k38" a common way to reference this issue? That doesn't save any characters over "y2038".
- jeremyjh 8y agoIt also doesn't cost any more characters, and instantly calls to mind the y2k issue to which it is related.