Blue Screen of Death
|This article needs additional citations for verification. (October 2013)|
The term "Blue Screen of Death" originated during OS/2 pre-release development activities at Lattice Inc, the makers of an early Windows and OS/2 C compiler. During porting of Lattice's other tools, developers encountered the stop screen when null pointers were dereferenced either in application code or when unexpectedly passed into system API calls. During reviews of progress and feedback to IBM Austin, the developers described the stop screen as the Blue Screen of Death to denote the screen and the finality of the experience.
BSoDs have been present in all Windows-based operating systems since Windows 3.1. (See History of Microsoft Windows.) BSoDs can be caused by poorly written device drivers or malfunctioning hardware, such as faulty memory, power supply issues, overheating of components, or hardware running beyond its specification limits. In the Windows 9x era, incompatible DLLs or bugs in the operating system kernel could also cause BSoDs.
On 4 September 2014, several online journals, including Business Insider, DailyTech, Engadget, Gizmodo, Lifehacker, Neowin, Softpedia, TechSpot, The Register, and The Verge attributed the creation of the Blue Screen of Death to Steve Ballmer (Microsoft's former CEO) while citing a source that never said such a thing: An article by Raymond Chen (Microsoft employee) titled "Who wrote the text for the Ctrl+Alt+Del dialog in Windows 3.1?" The article was about the creation of the first rudimentary task manager in Windows 3.x, which incidentally, shared visual similarities with a BSoD. In a follow up on 9 September 2014, Raymond Chen complained about this widespread mistake, claimed responsibility for revising the BSoD in Windows 95 and panned BGR.com for having "entirely fabricated a scenario and posited it as real". Engadget later updated its article to correct the mistake.
Until Windows Server 2012, BSoDs showed white text (CGA color code: 0x0F; HTML color code: #FFFFFF) on a navy blue background (CGA color code: 0x01; HTML color code: #0000AA) with information about current memory values and register values. For visually impaired users, Microsoft has added a utility that allows the user to change a setting in SYSTEM.INI that controls the colors that the BSoD code uses to any of the 16 CGA colors. Doing so requires the edit or addition of the "MessageBackColor=X" and "MessageTextColor=X" lines to the [386enh] section of the SYSTEM.INI, where X is a hexadecimal number from 0 to F corresponding with a color in the CGA 16-color palette. Windows Server 2012 and Windows 8 use a cerulean background instead (HTML color code: #2067b2).
Windows 95, 98 and Me BSoDs use 80×25 text mode. BSoDs of Windows NT family use 80×50 text mode on a 720×400 screen. Windows XP BSoDs uses the Lucida Console font while the Vista BSoD uses the Consolas font. Windows Server 2012 uses Segoe UI and renders the BSoD at native resolution.
In Windows NT family of operating systems, the blue screen of death (officially known as a Stop error, and referred to as "bug checks" in the Windows Software development kit and Driver development kit documentation) occurs when the kernel or a driver running in kernel mode encounters an error from which it cannot recover. This is usually caused by an illegal operation being performed. The only safe action the operating system can take in this situation is to restart the computer. As a result, data may be lost, as users are not given an opportunity to save data that has not yet been saved to the hard drive.
The text on the error screen contains the code of the error and its symbolic name (e.g. "0x0000001E, KMODE_EXCEPTION_NOT_HANDLED") along with four error-dependent values in parentheses that are there to help software engineers fix the problem that occurred. Depending on the error code, it may display the address where the problem occurred, along with the driver which is loaded at that address. Under Windows NT, the second and third sections of the screen may contain information on all loaded drivers and a stack dump, respectively. The driver information is in three columns; the first lists the base address of the driver, the second lists the driver's creation date (as a Unix timestamp), and the third lists the name of the driver.
By default, Windows will create a memory dump file when a stop error occurs. Depending on the OS version, there may be several formats this can be saved in, ranging from a 64kB "minidump" (introduced in Windows 2000) to a "complete dump" which is effectively a copy of the entire contents of physical memory (RAM). The resulting memory dump file may be debugged later, using a kernel debugger. For Windows WinDBG or KD debuggers from Debugging Tools for Windows are used. A debugger is necessary to obtain a stack trace, and may be required to ascertain the true cause of the problem; as the information on-screen is limited and thus possibly misleading, it may hide the true source of the error. By default, Windows XP is configured to save only a 64kB minidump when it encounters a stop error, and to then automatically reboot the computer. Because this process happens very quickly, the blue screen may be seen only for an instant or not at all. Users have sometimes noted this as a random reboot rather than a traditional stop error, and are only aware of an issue after Windows reboots and displays a notification that it has recovered from a serious error. This happens only when the computer has a function called "Auto Restart" enabled, which can be disabled in the Control Panel which in turn shows the stop error.
Microsoft Windows can also be configured to send live debugging information to a kernel debugger running on a separate computer. If a stop error is encountered while a live kernel debugger is attached to the system, Windows will halt execution and cause the debugger to break in, rather than displaying the BSoD. The debugger can then be used to examine the contents of memory and determine the source of the problem.
A BSoD can also be caused by a critical boot loader error, where the operating system is unable to access the boot partition due to incorrect storage drivers, a damaged file system or similar problems. The error code in this situation is STOP 0x0000007B (INACCESSIBLE_BOOT_DEVICE). In such cases, there is no memory dump saved. Since the system is unable to boot from the hard drive in this situation, correction of the problem often requires using the repair tools found on the Windows installation disc.
Before Windows Server 2012, each BSoD displayed an error name in uppercase (e.g. APC_INDEX_MISMATCH), a hexadecimal error number (e.g. 0x00000001) and four parameters. The last two are shown together in the following format:
error code (parameter 1, parameter 2, parameter 3, parameter 4) error name
Depending on the error number and its nature, all, some, or even none of the parameters contain data pertaining to what went wrong, and/or where it happened. In addition, the error screens showed four paragraphs of general explanation and advice and may have included other technical data such the file name of the culprit and memory addresses.
Windows Server 2012 and Windows 8 have dropped all of the above in favor of a concise description and an error name. Mentioned technical details data may be found in the Windows Event Log or interpreted from memory dumps by person in possession of this knowledge.
The blue screen of death frequently occurs in Microsoft's home desktop operating systems Windows 95, 98, and Me. In these operating systems, the BSoD is the main way for virtual device drivers to report errors to the user. It is internally referred to by the name of "
_VWIN32_FaultPopup". A Windows 9x BSoD gives the user the option either to restart or continue. However, VxDs do not display BSoDs frivolously — they usually indicate a problem that cannot be fixed without restarting the computer, and hence after a BSoD is displayed the system is usually unstable or unresponsive.
The most common BSoD is on a 25×80 screen which is the operating system's way of reporting an interrupt caused by a processor exception; it is a more serious form of the general protection fault dialog boxes. The memory address of the error is given and the error type is a hexadecimal number from 00 to 11 (0 to 17 decimal). The error codes are as follows:
- 00: Division fault
- 02: Non-Maskable Interrupt
- 04: Overflow Trap
- 05: Bounds Check Fault
- 06: Invalid Opcode Fault
- 07: "Coprocessor Not Available" Fault
- 08: Double Fault
- 09: Coprocessor Segment Overrun
- 0A: Invalid Task State Segment Fault
- 0B: Not Present Fault
- 0C: Stack Fault
- 0D: General Protection Fault
- 0E: Page Fault
- 10: Coprocessor Error Fault
- 11: Alignment Check Fault
Common reasons for BSoDs are:
- Problems that occur with incompatible versions of DLLs: Windows loads these DLLs into memory when they are needed by application programs; if versions are changed, the next time an application loads the DLL it may be different from what the application expects. These incompatibilities increase over time as more new software is installed, and is one of the main reasons why a freshly-installed copy of Windows is more stable than an "old" one.
- Faulty or poorly written device drivers
- Hardware incompatibilities
Damaged hardware may also cause a BSoD.
In Windows 95 and 98, a BSoD occurs when the system attempts to access the file "
c:\con\con" or "
c:\aux\aux" on the hard drive. This could be inserted on a website to crash visitors' machines. On 16 March 2000, Microsoft released a security update to resolve this issue.
The BSoD can appear if a user ejects removable media while it is being read on 9x. This is particularly common while using Microsoft Office: if a user simply wants to view a document, they might eject a floppy disk before exiting the program. Since Microsoft Office always creates a temporary file in the same directory, it will trigger a BSoD upon exiting because it will attempt to delete the file on the disk that is no longer in the drive. This type of blue screen is no longer seen in Windows NT, 2000, and XP. In the case of these less serious software errors, the program may still crash, but it will not take down the entire operating system with it due to better memory management and decreased legacy support. In these systems, the "true" BSoD is seen only in cases where the entire operating system crashes.
A famous instance of a Windows 9x BSoD occurred during a presentation of a Windows 98 Beta by Bill Gates at COMDEX on April 20, 1998: The demo PC crashed with a BSoD when his assistant, Chris Capossela, connected a scanner to the PC to demonstrate Windows 98's support for Plug and Play devices. This event brought thunderous applause from the crowd and Gates replied after a nervous pause: "That must be why we're not shipping Windows 98 yet."
OS/2, MS-DOS and Windows 3.1 suffered from the Black Screen of Death. Windows 98 and early builds of Windows Vista displayed the red screen a boot loader error. Stop errors are comparable to kernel panics in OS X, Linux, and other Unix-like systems.
Although the Microsoft Xbox usually shows a Green Screen of Death when a critical error occurs, a model was seen showing a cyan screen during the presentation of Forza Motorsport at the CeBIT computer fair in Hannover in March 2005.
Mac OS X 10.5 Leopard
Leopard features a blue screen but not that of death. Leopard's blue screen was part of a regular boot process in some situations. Some users, upgrading from Mac OS X 10.4 Tiger to Mac OS X 10.5 Leopard and having installed Application Enhancer, experienced a similar experience to a blue screen of death: on booting, the screen remained blue for an indefinite period of time because Application Enhancer's framework was not compatible with the new handlers that Leopard included. However, Apple became aware of the problem and posted a solution. Nevertheless, Leopard's blue screen was not meant to inform and/or describe an error as the blue screen is just a consequence of the regular boot process.
In the new Finder sidebar, all Windows PCs connected to the same local network of a Mac running Leopard are shown with an icon representing an Old CRT monitor displaying the blue screen of death.
In September and October 2013, mainstream outlets reported iPhone 5S randomly showing a blank blue screen after which reboots occur, as well as random reboots without a blue screen. The Verge attributes the blue screen and reboots to iWork, a bundled app of iPhone 5S. More possible problems for the BSOD are iWork apps, when people multi-task, FaceTime, Safari, Camera, and when people press the home button. Another issue could be when using an app that isn't made for iOS 7 or that the app isn't updated to run the iPhone's 64 bit processor.
- Xbox 360 technical problems (Red Ring of Death)
- "Blue Screen Data". MSDN Library. Microsoft. 9 April 2013. Retrieved 22 August 2013. "When Microsoft Windows encounters a condition that compromises safe system operation, the system halts. This condition is called a bug check. It is also commonly referred to as a system crash, a kernel error, or a Stop error. [...] If no debugger is attached, a blue text screen appears with information about the error. This screen is called a blue screen, a bug check screen, or a Stop screen."
- Smith, Dave (4 September 2014). "Steve Ballmer Wrote The Blue Screen Of Death". Business Insider. Business Insider Inc. Retrieved 10 September 2014.
- Mick, Jason (4 September 2014). "Microsoft Exec Reveals Steve Ballmer Created Original Blue Screen of Death Message". Daily Tech. DailyTech LLC. Retrieved 10 September 2014.
- Fingas, Jon (4 September 2014). "Steve Ballmer wrote Windows' first Ctrl-Alt-Delete message (updated)". Engadget. AOL. Retrieved 10 September 2014.
- Condliffe, Jamie (4 September 2014). "Steve Ballmer Wrote the Blue Screen of Death". Gizmodo. Gawker. Retrieved 10 September 2014.
- Kidman, Alex (5 September 2014). "Steve Ballmer Wrote The BSOD, So Stop Slacking Off". Gizmodo. Allure Media. Retrieved 10 September 2014.
- Sams, Brad (4 September 2014). "Steve Ballmer wrote the BSOD text". Neowin. Neowin LLC. Retrieved 10 September 2014.
- Popa, Bogdan (4 September 2014). "Steve Ballmer Himself Created the First Blue Screen of Death Text". Softpedia. SoftNews SRL. Retrieved 10 September 2014.
- Schiesser, Tim (4 September 2014). "The original Blue Screen of Death was written by Steve Ballmer". TechSpot. Retrieved 10 September 2014.
- Sharwood, Simon (4 September 2014). "Ballmer PERSONALLY wrote Windows' Blue Screen of Death text". The Register. Retrieved 10 September 2014.
- Warren, Tom (4 September 2014). "Steve Ballmer wrote the Blue Screen of Death message". The Verge. Vox Media. Retrieved 10 September 2014.
- Chen, Raymond (2 September 2014). "Who wrote the text for the Ctrl+Alt+Del dialog in Windows 3.1?". The Old New Thing. Microsoft. Retrieved 10 September 2014.
- Chen, Raymond (9 September 2014). "Steve Ballmer did not write the text for the blue screen of death". The Old New Thing. Microsoft. Retrieved 10 September 2014.
- Microsoft Windows NT Workstation Resource Kit (1st edition ed.). Redmond, WA: Microsoft Press. 29 October 1996. ISBN 1-57231-343-9.
- STOP: 0x00000001 (parameter, parameter, parameter, parameter) APC_INDEX_MIS
- "What Are Fatal Exception Errors". Support. Microsoft. 19 January 2007. Retrieved 16 October 2013.
- Microsoft Corporation (2000). "Patch Available for "DOS Device in Path Name" Vulnerability". TechNet. Microsoft. Retrieved 4 March 2006.
- Garmon, Jay (12 April 2007). "Video: Bill Gates, meet the Blue Screen of Death". TechRepublic. CBS Interactive. Retrieved 20 December 2013.
- "Advanced Configuration and Power Interface Errors on Red Screen". Support (1.3 ed.). Microsoft. 10 August 2007. Retrieved 19 July 2014.
- Best, Jo (11 May 2005). "Red screen of death?". CNET. CBS Interactive. Retrieved 9 September 2013.
- Farrell, Nick (3 June 2005). "Microsoft sees red over blue screen of death". The Inquirer. Incisive Media. Retrieved 9 September 2013.
- "Blue screen" appears after installing Leopard and restarting
- Leopard Blue Screen of Death as you can see in CoverFlow
- THE VERGE: iPhone 5s users report 'Blue Screen Of Death' reboots
- iPhone in Canada: iPhone 5s's ‘Blue Screen of Death’ Bug Affecting iWork for iOS Users
- iMore: iOS 7 blue screen of death caught on video
- "How to fix 'blue screen of death' on the iPhone 5s". news.com.au. 12 October 2013.
|Wikimedia Commons has media related to:|
- Bug Check Codes (Microsoft Developer Network)
- SysInternals BlueScreen Screen Saver v3.2
- Original report of RSoD from a Microsoft employee
- "PC Stats Beginners Guide: Troubleshoot BSOD
- "Easy tips to fix Windows 8 BSOD