Blue Screen of Death

From Wikipedia, the free encyclopedia

A blue screen of death as seen in Windows XP and Vista.
A blue screen of death as seen in Windows XP and Vista.

A Blue Screen of Death (also known as a stop error, BSoD or bluescreen) is an error screen displayed by certain operating systems, most notably Microsoft Windows, after encountering a critical system error which can cause the system to shut down to prevent damage.

Bluescreens on NT-based Windows systems can be caused by poorly written device drivers or malfunctioning hardware. In the Win9x era, incompatible DLLs or bugs in the kernel of the operating system can also cause bluescreens. Sometimes, when the CPU is hit in any way, the computer may restart and show the BSoD.

Bluescreens can also be caused by physical faults such as faulty memory, mains power supply voltage variance or spikes in conjunction with or magnified by power supply unit voltage rating not matching the mains supply (such as a 220V PSU attached to a 240V mains outlet), the power requirements of the computer exceeding the capacity of the PSU, overheating of components, intermittent power to hard disk drives or other parts, faulty hardware, or hardware running beyond its specification limits. Bluescreens have been present in all Windows-based operating systems since Windows 3.1; earlier, OS/2 and MS-DOS suffered the Black Screen of Death, and early builds of Windows Vista displayed the Red Screen of Death after a boot loader error.

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.[citation needed]

Contents

[edit] Types of BSoDs

[edit] Windows NT

A blue screen of death as seen on an Advertising screen in the Chadstone Shopping Centre
A blue screen of death as seen on an Advertising screen in the Chadstone Shopping Centre

In Windows NT, Windows 2000, Windows XP, Windows Server 2003 and Windows Vista, the blue screen of death 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.

Blue screens are known as "Stop errors" in the Windows Resource Kit documentation. They are referred to as "bug checks" in the Windows Software development kit and Driver development kit documentation.

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 and 2000, 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.[1]

By default, Windows will create a memory dump file when a blue screen error occurs. Depending on the OS version, there may be several formats this can be saved in, ranging from a 64 KB "mini dump" to a "complete dump" which is effectively a copy of the entire contents of physical RAM. The resulting memory dump file may be debugged later, using a kernel debugger. A debugger is necessary to obtain a stack trace, and may be required to ascertain the true cause of the problem; as the information onscreen is limited and thus possibly misleading, it may hide the true source of the error.

Microsoft Windows can also be configured to send live debugging information to a kernel debugger running on a separate computer. (Windows XP also allows for kernel debugging from the machine that is running the OS.) If a blue screen 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.

The Windows debugger is available as a free download from Microsoft.[2]

Windows includes a feature that can be used to cause a blue screen manually. To enable it, the user must add a value to the Windows registry. After that, a BSoD will appear when the user presses the SCROLL LOCK key twice while holding the right CTRL key.[3] This feature is primarily useful for obtaining a memory dump of the computer while it is in a given state. As such, it is generally used to aid in troubleshooting system hangs.

A Bluescreen can also be caused by terminating either csrss.exe or winlogon.exe. This cannot be done with Windows Task Manager, but can be done with a third-party software. One of these programs may also terminate if it fails.

By default, Windows XP is configured to save only a 64K minidump when it encounters a blue screen, 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 BSoDs.

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 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 booting from the Microsoft Windows CD. After booting to the CD, it may be possible to correct the problem by performing a repair install or by using the Recovery Console (with CHKDSK).

The color blue was chosen because a version of Windows NT for the DEC Alpha platform's console colors could not be changed easily.[citation needed] For consistency reasons, blue became the color for Stop errors on all platforms (alpha/i386/mips/ppc).

[edit] ReactOS

ReactOS, an attempt at creating a free software/open source implementation of a Windows NT-compatible operating system, also features its own BSoD similar to the Windows NT/XP one.

[edit] Windows 9x/Me

The blue screen of death frequently occurs in Microsoft's home desktop operating systems Windows 95, 98, and Me. Here it is usually less serious, but much more common. 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/Me 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.

Two of the most 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, or 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" on the hard drive. This was often inserted on websites to crash users' machines. Microsoft has released a patch for this.[4]

The BSoD can appear if a user ejects removable media while it is being read on 9x/ME. This is particularly common while using Microsoft Office: if a user simply wants to view a document, he 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.

Perhaps the most 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, who is still working for Microsoft as Corporate VP in the Information Working business unit) connected a scanner to the PC, trying 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."[5]

[edit] Windows CE

The simplest version of the blue screen occurs in Windows CE except the versions for Pocket PC. The blue screen in Windows CE 3.0 is similar to the one in Windows 95 and 98.

[edit] Windows 3.1

Windows 3.1 was the first version of Windows to use the Blue Screen of Death. In Windows 3.1's 386 enhanced mode, the Blue Screen is also displayed when Control-Alt-Delete is pressed.

[edit] Xbox

Although the Microsoft Xbox usually shows a Green Screen of Death when a critical error occurs, this model was seen showing a BSoD during the presentation of Forza Motorsport at the CeBIT computer fair in Hannover in March 2005. Additionally the recalled Game Kakuto Chojin displays a BSoD as an error message when the disc is dirty.[citation needed]

An early development version of the Microsoft XBox showing a Blue Screen of Death during a presentation of a racing game at the CeBIT in March 2005.
An early development version of the Microsoft XBox showing a Blue Screen of Death during a presentation of a racing game at the CeBIT in March 2005.

[edit] Mac OS X 10.5 Leopard

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[6]. 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 siderbar, all Windows PCs connected to the same local network of a Mac running Leopard are shown with an icon representing a CRT monitor displaying the blue screen of death. [7]

[edit] PlayStation Portable

The PlayStation Portable shows a Blue Screen of Death when the internal settings in flash1:\ become corrupted or are missing. The BSoD instructs that the Playstation Portable will attempt to recreate the registry setting files. The BSoD is encountered often when downgrading a Playstation Portable because of non-backward-compatible registry files. Under very rare conditions (usually as a result of firmware modifications), the system may be thrown into a loop in which the PSP will continue to restart and display the BsoD screen.

The PlaySation Portable also has a red screen of death which can appear when portions of the internal flash0:\ are corrupted or missing. This is usually more fatal than the blue screen of death as there is no option to repair the problem since the missing operating system, unlike the user settings, cannot be restored

[edit] Gameboy Advance

If the game card is removed from the console as it is still running, the screen will display a textless BSoD, or more commonly will just continue displaying a frozen image of the game as it was before it froze and make a screeching noise.

[edit] Nintendo DS

Nintendo DS Blue Screen
Nintendo DS Blue Screen

The Nintendo DS will give a textless single-color on both screens when the user removes a DS card or GBA card while on the Pictochat room selection menu. The color of the screens is based on the DS firmware version -- version 6 firmware, found on most DS machines is blue, while the version 5 firmware, found on DS Lite consoles, is Magenta. The IQue DS released in China is green.

[edit] Display

By default, the display is white (CGA color 0x0F; HTML color #FFFFFF) lettering on a blue (CGA color 0x01; HTML color #0000AA) background, 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 95, 98 and Me use 80x25 text mode. The Windows NT BSoD uses 80x50 text mode. The screen resolution is 720x400. The XP BSoD uses the Lucida Console font while the Vista BSoD uses the Consolas font.

When getting the BSoD, the screen will go black for about a second and any playing audio will start to skip, and then a dark blue screen will come up with white writing. On Windows XP and Vista, it reads as follows:

A problem has been detected and Windows has been shut down to prevent damage

to your computer.

The problem seems to be caused by the following file: <Insert File Name Here>

<Insert cause of BSoD here>

If this is the first time you've seen this Stop Error screen, restart your computer. If this screen appears again, follow these steps:

Check to make sure any new hardware or software is properly installed. If this is a new installation, ask your hardware or software manufacturer for any Windows updates you might need.

If problems continue, disable or remove any newly installed hardware or software. Disable BIOS memory options such as caching or shadowing. If you need to use Safe Mode to remove or disable components, restart your computer, press F8 to select Advanced Startup Options, and then select Safe Mode.

It then tells you the technical contact information.

[edit] Details

Each BSoD usually displays a message such as FILE_SYSTEM, and a number like 0x00000022. The usual parameters displayed for the BSoD are these:

number of error (parameter, parameter, parameter, parameter) name of error

All of the above information is important in understanding and determining the cause of the BSOD.[8]

Depending on the value "number of error", all, some or even none of the parameters contain data pertaining to what went wrong, and/or where it happened.

[edit] "Famous" BSoDs, easter eggs, and others in popular media

There have been occurrences of BSoD screens in public view that have garnered attention and become a sort of cultural phenomenon. Some of the more famous unintentional BSoDs include:

  • The Paris Hotel marquee on the Las Vegas Strip [9]
  • During the Windows 98 preview at the 1998 COMDEX, Microsoft presenters were faced with the BSoD [10]
  • In Toronto, the "Bay" department store displayed four massive BSoD images for multiple days [11]

Also, the BSoD began to be intentionally shown in other media as designer/creators hide them as a sort of "easter egg"

  • In reference to Windows, several computer monitors in the game series Halo for the Xbox display custom variants of the Blue Screen of Death. Most prominent is the display at the gate on the Zanzibar map in Halo 2.
  • Halo 3 for the Xbox 360 also had a BSoD easter egg [12]
  • In Apple's Mac OS X Leopard, the Finder displays a beige CRT monitor with a Windows 9x BSoD on it as an icon to represent an SMB share on a network. [13] [14] [15]
  • There was a BSoD easter egg as part of the "insanity system" in the GameCube game Eternal Darkness.
  • Team Fortress 2 also has a BSoD on one of the multiple in-game monitors.

[edit] See also

  • Sad Mac—An Apple equivalent to the BSoD, found in both early Macs and iPods.
  • Spinning wait cursor—A cursor in Mac OS X that commonly means a program is busy. Often referred to as the spinning beach ball of death, pinwheel of death, spinning wheel of doom, spinny color wheel of death, or rainbow wheel of death, it is a reference to the blue screen of death.
  • Kernel panic—A critical failure under Unix and Unix-like operating systems.
  • Linux kernel oops
  • Guru Meditation—A type of error messages for Amiga operating systems.
  • Red Ring of Death—A red warning light/symbol on the Xbox 360 that means an inoperative unit.

[edit] References

[edit] External links

Wikimedia Commons has media related to: