31 comments

[ 3.2 ms ] story [ 68.6 ms ] thread

    > Imagine if you did that today. "Press any key to ignore this kernel panic." 
Linux still does this today. Not for kernel panics, but for kernel oops, which is the error you will usually get when doing something bad (say a null pointer dereference in a kernel module). The thread that causes a kernel oops is killed and a stack trace is written to dmesg but the rest of the system attempts to continue chugging on.
>> ...the kernel oopsies :)
I miss BSoDs telling you which kernel driver it was. It was super useful, even without research, to tell just from the name that the e.g. Nvidia driver had done it. It was removed in Windows NT 5.1-2/XP/Server 2003 (2000/NT 5.0 told you, as did Windows ME).

Now, assuming a crash dump was successful (they can and do fail), you have to download the "Debugging Tools for Windows" package and then run WinDbg. Load up the crash dump and only then will it give you the same basic information that 2000 and prior gave you at the BSoD.

If the crash dump didn't save (e.g. it was an issue in a storage subsystem, not enough space on the drive, etc) then you're just shit out of luck. No useful information for you, bonus points if it couldn't even store anything in the event log (that happens too, funzies!).

Even for less serious issues, having that driver name was amazingly useful for doing phone support:

     User: A blue screen has come up!    
     Tech: At the end of the second line do you see something ending in .sys?    
     User: Yes! It says scanner.sys      
     Tech: Ah! Can you restart and install your scanner's latest software? That will solve it!     
     ... etc etc...      
Seriously was a step backwards when they removed that.
I'd had one just last night in 8.1, it displayed the driver. Do you have the memory dump turned off, maybe?
> Do you have the memory dump turned off, maybe?

I don't know what that question relates to?

I am talking about lack of information in the BSoD and that the alternative has limitations (e.g. that memory dumps fail sometimes). It wasn't a technical support request.

As to Windows 8, last time I had a BSoD it looked more like this: https://i.imgur.com/OFkIvBT.jpg

Which has as little diagnostic information as XP and later.

If it's a driver that caused the crash, where it says CRITICAL_STRUCTURE_CORRUPTION, it will say the name of the driver that crashed.
I can confirm, my ATI driver continuously crashes and the Win 8.1 blue screen tells me it's ati.sys.
It's atikmdag.sys for me. Except on occasion when Netflix kills it with a different message (but IIRC related to video decoding, so possibly the ATI driver's fault there too).
Yeah I knew it was ati(something).sys. Couldn't remember it exactly, most of the time when it happens I'm looking at a blue screen but seeing red because I was in the middle of a game when it shut down.
I was hoping to learn why blue was chosen as the background color for that screen. This article doesn't mention that. Does anyone know why blue was used?
He likely doesn't know. The blue color pre-dates Windows itself, it came from OS/2.
It's the best choice of the colors available in text mode. You can't use the 8 high-intensity colors, that would be nuts. Black wouldn't work, neither would gray. Brown? Red would be obtuse. Green would be odd. Cyan would work as well, I guess. VMware uses purple.

It might also be worth noting that the same color blue was used for the MS-DOS and Windows installers, edit.com, and others.

Why wouldn't black work? Should give visible messages with white text unless I'm missing something.
For one, it would cause users to think they've been dropped back to MS-DOS
You want something that is immediately visually recognizable -- even on a machine you are just walking by -- from any other normal operation, including "sitting displaying something in a full-screen DOS box".
At the time white-on-blue was a pretty common colour scheme.
I remember WordPerfect 5.1. The blue screen gave me headaches and the first thing I did was go into settings to have gray letters on a black background. Shift-F1, if I remember well ;-)
Impressive that he is able to remember so many minor details about things he worked on some 20 years ago.
Raymond Chen is amazing. His HTML table-based "screen shots" (really, view source!) are pretty cool as well.
Saw your comment, thought "no way", went and checked source, and now my jaw's on the floor! I had assumed they were images all this while.
Wow. That’s infinitely better than images for searching and accessibility, and it scales to different resolutions too.
(comment deleted)
One of my earliest memories of using computers was seeing messages like this, and wishing I knew what the numbers meant.

My dream was to someday understand computers deeply enough that I could see numbers like that any know exactly what was going on. Like reading the matrix.

I know enough now to know what an address is, and while I may not be able to see an address and know what happened, at least I know how to use a crash address to debug a binary. So mission accomplished, I guess. :)

"Technically, what happened was that the virtual machine manager abandoned the event currently in progress and returned to the event dispatcher. It's the kernel-mode equivalent to swallowing exceptions in window procedures and returning to the message loop. If there was no event in progress, then the current application was terminated."

Can anybody explain how Windows 95 and beyond use a virtual machine manager? Is it just referring to the separation of kernel and user space (the virtual machine being the application/"window procedure" and the virtual machine manager watching for exceptions from kernel space)?

I read here that Steve Ballmer wrote part of it too. http://timesofindia.indiatimes.com/Tech/Tech-News/Steve-Ball...