{"id":110062,"date":"2024-07-30T07:00:00","date_gmt":"2024-07-30T14:00:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/oldnewthing\/?p=110062"},"modified":"2024-07-30T11:46:46","modified_gmt":"2024-07-30T18:46:46","slug":"20240730-00","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20240730-00\/?p=110062","title":{"rendered":"There is no mystery over who wrote the Blue Screen of Death, despite what some may want you to believe"},"content":{"rendered":"<p>Somehow, there is a claim of <a title=\"There's a 30-year mystery surrounding Microsoft's Blue Screen of Death\" href=\"https:\/\/www.sfgate.com\/tech\/article\/blue-screen-of-death-computer-outage-hits-calif-19583943.php\"> a 30-year mystery surrounding Microsoft&#8217;s Blue Screen of Death<\/a>. The argument goes that there are three conflicting sources of authorship: Steve Ballmer, John Vert, and me.<\/p>\n<p>But really, there is no conflict. There are three different blue-colored screens, and each has a different author.<\/p>\n<p>First is <a title=\"Who wrote the text for the Ctrl+Alt+Del dialog in Windows 3.1?\" href=\"https:\/\/devblogs.microsoft.com\/oldnewthing\/20140902-00\/?p=93\"> the Windows 3.1 <kbd>Ctrl<\/kbd>+<kbd>Alt<\/kbd>+<kbd>Del<\/kbd> screen<\/a>, which is a blue screen of unhappiness, not death:<\/p>\n<table style=\"font-size: 80%; background-color: #00f; color: white; font-family: Consolas, monospace; font-weight: bold;\">\n<tbody>\n<tr style=\"background-color: inherit;\">\n<td style=\"padding: 5ex;\"><!-- width: 80ex; --> \u00a0<br \/>\n\u00a0<\/p>\n<div style=\"text-align: center;\"><span style=\"background-color: #aaaaaa; color: #0000ff;\">Contoso Deluxe Music Composer<\/span><\/div>\n<div>\u00a0<br \/>\n\u00a0<\/div>\n<div>\u00a0\u00a0This Windows application has stopped responding to the system.<br \/>\n\u00a0<br \/>\n\u00a0\u00a0*\u00a0 Press ESC to cancel and return to Windows.<br \/>\n\u00a0\u00a0*\u00a0 Press ENTER to close this application that is not responding.<br \/>\n\u00a0\u00a0\u00a0\u00a0 You will lose any unsaved information in this application.<br \/>\n\u00a0\u00a0*\u00a0 Press CTRL+ALT+DEL again to restart your computer. You will<br \/>\n\u00a0\u00a0\u00a0\u00a0 lose any unsaved information in all applications.<\/p>\n<div>\u00a0<br \/>\n\u00a0<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The text for this message was written by Steve Ballmer. (He didn&#8217;t write the code to display the message; he just wrote the text that goes into the message.)<\/p>\n<p>Windows 3.1 did not have a blue screen of death. If Windows crashed, you got <a title=\"Steve Ballmer did not write the text for the blue screen of death\" href=\"https:\/\/devblogs.microsoft.com\/oldnewthing\/20140909-00\/?p=44123\"> what could anachronistically be called a black screen of death<\/a>:<\/p>\n<table style=\"font-size: 80%; background-color: black; color: white; font-family: Consolas, monospace; font-weight: bold; hyphens: none;\">\n<tbody>\n<tr style=\"background-color: inherit;\">\n<td style=\"width: 80ex; padding: 5px;\">Could not continue running Windows because of paging error.<br \/>\n\u00a0<br \/>\nC:\\&gt;_ \u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<br \/>\n\u00a0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Next is the Windows 95 kernel error, which you could consider a &#8220;blue screen of death&#8221;, although Windows 95 lets you ignore the error, so it&#8217;s not a true death. (Then again, there&#8217;s no guarantee that ignoring the error will return you to a usable system.)<\/p>\n<table style=\"font-size: 80%; background-color: #0000aa; color: white; font-family: Consolas, monospace; font-weight: bold; hyphens: none;\">\n<tbody>\n<tr style=\"background-color: inherit;\">\n<td style=\"width: 80ex; padding: 5ex;\">\n\u00a0<\/p>\n<div style=\"text-align: center;\"><span style=\"background-color: #aaaaaa; color: #0000aa;\">\u00a0Windows\u00a0<\/span><\/div>\n<div>\n\u00a0<\/div>\n<div>An exception 0D has occurred at 0028:80014812 in VxD CONTOSO(03) + 00000152. This was called from 0028:80014C34 in VxD CONTOSO(03) + 00000574. It may be possible to continue normally.<\/div>\n<div>\u00a0<\/div>\n<div>* Press any key to attempt to continue.<\/div>\n<div>* Press CTRL+ALT+DEL to restart your computer. You will<\/div>\n<div>\u00a0 lose any unsaved information in all applications.<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>I was the one who brought this version of the Windows 95 kernel error blue screen message to its final form. (Some people have <a href=\"https:\/\/twitter.com\/todayininfosec\/status\/1817285474462859497\"> misidentified an early version of it as a Windows NT blue screen<\/a>.)<\/p>\n<p>The third blue screen of death is the Windows NT kernel error, and <a title=\"Who implemented the Windows NT blue screen of death?\" href=\"https:\/\/devblogs.microsoft.com\/oldnewthing\/20170926-00\/?p=97085\"> that&#8217;s the one authored by John Vert<\/a>.<\/p>\n<table style=\"font-size: 80%; background-color: #0000aa; color: white; font-family: Consolas, monospace; font-weight: bold; hyphens: none;\">\n<tbody>\n<tr style=\"background-color: inherit;\">\n<td>*** STOP: 0x00000019 (0x00000000,0xC00E0FF00xFFFFEFD4,0xC0000000)<br \/>\nBAD_POOL_HEADER<\/p>\n<p>eax=ffdff13c ebx=80089a10 ecx=08000800 edx=ff69bf60 esi=80088010 edi=8008b0f0<br \/>\neip=801b9da5 esp=ff69bb8c ebp=e10076c8 \u00a0p4=0002 \u00a0 \u00a0 \u00a0 nv up ei ng nz na po nc<br \/>\ncr0=80050039 cr2=e1053002 cr3=00030000 cr4=00000000 irql:0 \u00a0 \u00a0 \u00a0efl=ff69bb84<br \/>\ngdtr=80036000 \u00a0 gdtl=03ff idtr=80036400 \u00a0 idtl=07ff tr=0028 \u00a0ldtr=0000<\/p>\n<p>Dll Base DateStmp &#8211; Name \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Dll Base DateStmp &#8211; Name<br \/>\n80100000 2c921d20 &#8211; ntoskrnl.exe \u00a0 \u00a0 \u00a0 80400000 2c7d4b45 &#8211; hal.dll<br \/>\n80010000 2c360942 &#8211; Atdisk.sys \u00a0 \u00a0 \u00a0 \u00a0 80001000 2c87e0ab &#8211; Ftdisk.sys<br \/>\n801e6000 2c42f49a &#8211; Fastfat.sys<\/p>\n<p>Address dword dump \u00a0 Build [v1.528] \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0&#8211; Name<br \/>\nff69bbb8 80121efa 80121efa ff7b6c50 00000018 00000000 ff69bba8 &#8211; ntoskrnl.exe<br \/>\nff69bc04 80115b00 80115b00 00000100 ff7b19b0 ff7a86a8 ff7a8730 &#8211; ntoskrnl.exe<br \/>\nff69bc28 80115f67 80115f67 ff7b2600 00000246 80112beb 80190001 &#8211; ntoskrnl.exe<br \/>\nff69bc34 80112beb 80112beb 80190001 00000246 80112beb 80190001 &#8211; ntoskrnl.exe<br \/>\nff69bc38 80190001 80190001 00000246 80112beb 80190001 00000000 &#8211; ntoskrnl.exe<br \/>\nff69bc40 80112beb 80112beb 80190001 00000000 e1007560 e0075688 &#8211; ntoskrnl.exe<\/p>\n<p>Restart your computer. If this message reappears, do not restart.<br \/>\nContact your system administrator or technical support group, and\/or<br \/>\nperipheral device vendor.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>This is a true &#8220;blue screen of death&#8221;: The system is unrecoverably dead at this point.<\/p>\n<p>So we have the following table:<\/p>\n<table class=\"cp3\" style=\"border-collapse: collapse;\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n<tbody>\n<tr>\n<th>OS<\/th>\n<th>Author<\/th>\n<th>Release year<\/th>\n<\/tr>\n<tr>\n<td>Windows 3.1<\/td>\n<td>Steve Ballmer (text)<\/td>\n<td>1992<\/td>\n<\/tr>\n<tr>\n<td>Windows 95<\/td>\n<td>ends with me\u00b9<\/td>\n<td>1995<\/td>\n<\/tr>\n<tr>\n<td>Windows NT<\/td>\n<td>John Vert<\/td>\n<td>1993<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u00b9 I did not write the early version of the Windows 95 blue screen message, but I was the one who brought it to its final form.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No real contradictions in anybody&#8217;s story.<\/p>\n","protected":false},"author":1069,"featured_media":111744,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[2],"class_list":["post-110062","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-history"],"acf":[],"blog_post_summary":"<p>No real contradictions in anybody&#8217;s story.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/110062","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/users\/1069"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/comments?post=110062"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/110062\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media\/111744"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media?parent=110062"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=110062"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=110062"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}