this post was submitted on 12 Jan 2024
215 points (96.9% liked)
Linux
48186 readers
1830 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Ubuntu is already immune to the 2038 bug. The Linux kernel even supports using a 64 bit time_t on 32 bit systems now. Of course some poorly written software could still be affected, but that's not the fault of the kernel or operating system.
The 2038 bug will certainly cause problems in some embedded systems that still use a 32 bit time_t if they are still running by then.
It's not poorly written software if it's is old. Likewise the y2k bug is often declared as bad programming, but at the time the software with the y2k bug was written memory was measured in kilobytes and a lot of accounting software and banking software was written in a time when 64k was the norm. Oh, and I'll tell you now I know of at least some accounting software that is based on code written for the 8088 and has been wrapped and cross compiled so many times now it's unrecognisable. But I know that 40 year old code is still there.
So 2 digits for year was best practice at the time and at the time software vulnerable to the 2038 bug 32bit epoch dates was the best practice.
Now, software written today doing the same, could of course be considered bad, but it's not a good blanket statement.
I mean, Ghost Recon Wildlands which came out in 2017 for example has save dates written as a 32-bit date so it's prone to the 2038 bug, I set the date to 2040 and tested a bunch of software and while you can save the date overflows and shows as 1969. I bet there are still people using 32-bit dates even if unintentionally.
I mean, technically you could use unsigned 32bit if you don't need to handle dates before 1970. But yes, the best course of action now is to use 64bits. The cost is pretty much nothing on modern systems.
I'm just cautious of people judging software from a time with different constraints and expectations, with the current yardstick.
I also wonder what the problem will be. People playing ghost recon in 2038 are going to be "retro" gaming it. There should be an expectation of such problems. Would it prevent you loading or saving the file is the question?
Nope, saving and loading works on that game (and pretty much every other game I tested), it's just you lose the date display in-game so you don't know when you really last saved.
Yeah, that's my point. It'll be a retro game by 2038 and anyone playing it will know it's "one of those quirks"
The bigger problem is software where the date really matters.