Watch Windows 95 crash live as it exceeds 49.7 days uptime [video]
youtube.com
youtube.com
At one point when I was on the Windows team at Microsoft, there was an internal push for us to selfhost (dogfood) checked builds of Windows, since they theoretically provided better bug telemetry than "free" builds (release builds, which are free of debug-only code). "Slows your dev box down by just half!" was the basic pitch of that campaign in a nutshell.
[1] I don't know if this was ever done for Windows 95. It was done for Windows XP up to Windows 10 version 1511, but it appears to have stopped since then, at least according to my quick search.
[2] https://docs.microsoft.com/windows/win32/api/sysinfoapi/nf-s...
EDIT: if you want to get the actual build, I can't help. I only remember it being available through MSDN AA back in the day.
I don't recommend chk builds for routine use by anyone outside the Windows teams because even if the regular Windows release still receives updates, the chk build typically doesn't. CDN disk space isn't cheap, and neither is CPU time on the build or test machines.
https://the-eye.eu/public/MSDN/Windows%207/
- en_windows_7_debug_checked_build_dvd_x64_398741.iso
- en_windows_7_debug_checked_build_dvd_x86_398742.iso
https://the-eye.eu/public/MSDN/Windows%20XP/
- en_windows_xp_professional_x64_chk.iso
Here's the exact point of the crash (cued to 5 seconds prior): https://www.youtube.com/watch?v=tdrRoSdBM5M&t=9778s
The counter overflows/resets, everything wraps around, the system counts 6 more seconds, then Windows 95 freezes.
The mouse cursor still seems to work, but the message pump seems to have frozen, to the extent that End Task itself is unresponsive, and a second CTRL-ALT-DEL is needed to reset the machine.
---
This whole thing started back in July, over here (warning: megathread): https://twitter.com/Foone/status/1413694652822163459
I have seen a Windows NT 4.0 system with an uptime of more than five years, but with Windows 95, even a whole day of uptime was pretty close to a miracle.
I think he's referring to CAL
Windows 95/98/Me had a very weak concept of protected memory. It was there, but it wasn't very hard for an application to go read and write into the virtual memory space of other processes. Even then, any semblance of protected memory only existed for Win32 applications. DOS and Win16 programs, both of which were very common at the time, would just have free reign over everything.
On the other hand, I didn't have much of a problem maintaining multi-week uptimes simply due to the fact that I kept the system relatively "clean" and wasn't trying out new apps every day.
It never gave me any trouble, but I admit this is not a representative use case. ;-)
Still remember the credentials too... sa and password Nimda
No issues ever... HP hardware....
Fore/Marconi was a great place to work back then but the dotcom bust and the migration to pure IP/MPLS was a death knell to them. My entire division was laid off in Oct of 2001. I was lucky and had jumped ship only weeks earlier.
I run a unify controller on docker, pihole, influxdb, grafana and a bunch of other small scripts. I did need to upgrade my collectd Python modules to 3 but that was it.
And my memory may be hazy, but in those days Windows always crash every few days and we normally "shut down" our computer after usage.
But the most interesting thing is a running Windows 95 in English version. May be screenshot [1] weren't hard to come by. And we are lucky nuke didn't happen in 2020.
[1] https://www.destroyallsoftware.com/talks/the-birth-and-death...
Nowadays I usually let my notebook hibernate (not sleep) for the night and when I return the next morning, I often discover that I forgot to stop my debugger and it is still attached to my running program. Not even a hiccup when resuming.
# echo 1 > /sys/bus/pci/devices/0000\:0b\:00.0/remove # echo 1 > /sys/bus/pci/rescan
Some time back I did work at a devices startup processing data collected from trial runs. For some reason an earlier developer had chosen to use time-of-day, in seconds, rather than elapsed time, as the index for data recording. I'd registered this as a poor design decision, though it was difficult to articulate why.
That argument became far easier after a field trial spanned midnight, and the data series iterated from 86,400 to 0.
On the other hand, I've never had trouble remembering just how many seconds (or minutes) there are in a day, since.
Not everyone is so fortunate: https://news.ycombinator.com/item?id=7717414
(60 * 60 * 24) // 1 day
(60 * 60 * 12) // 12 hours
(60 * 5) // 5 minutesNot all days have precisely 86,400 seconds.
For longer intervals, not all months have 28, 29, 30, 31, 30.43685, whatever, days. Not all years have 365 or 366 days, etc.
Pull out your copy of "Myths Programmers Believe About Time" and read it, hard. It will bite.
> “…At the international date line, whoops, all systems dumped and when I say all systems, I mean all systems, their navigation, part of their communications, their fuel systems.”
https://www.defenseindustrydaily.com/f22-squadron-shot-down-...
Now I'm really curious of how time is managed in jetfighters, but couldn't find a good article on the subject.
News coverage at the time (2002 or earlier): https://www.cnet.com/news/windows-may-crash-after-49-7-days/
(Feels like a bit of a silly Gotcha! to do it live now - did anyone run their personal computer for 49 days, even counting laptops which went to sleep/standby? But hey, do what you want. :)
"It hung! I ctrl-alt-deleted it, but it wouldn't respond so I rebooted it with another ctrl-alt-delete
Thanks for watching.
TRANS RIGHTS!"
It's weird how we can have things that are extremely well known / commonly used in our culture that suddenly disappear as soon as something better comes along never to be thought of again.
As someone who has written Win3.x/9x drivers for much newer hardware just to see if it could be done, I'd love to read an in-depth analysis of this bug, like https://www.os2museum.com/wp/those-win9x-crashes-on-fast-mac... --- if I had more time I might get around to doing it myself, and ultimately coming up with a patch to fix it.
How do they capture the screen output from the real CRT ?
Thinking about upgrading to Raspberry Pi Keyboard.
Maybe we should try the 49.7 days overflow as an fun example in memory overflow.
Presumably it was using uptime as time clock for establishing presence and once it overflowed the comparison failed.
Yep, it was funny.
The counter rolled over, then the system hung at about 6800 ms after the rollover.
The mouse responded and a ctrl-alt-del brought up the process-manager / restart dialogue, but the system didn't respond otherwise. It was restarted with a second ctrl-alt-del.
Final song was Toto's "Africa", followed by the theme to Terminator.
If the stream remains up, the next crash will occur on October 17, 2021.
Now its not even a consideration as it is so commonplace
At one point this was considered a hard problem