Jump to content

Blue screen of death

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 68.144.240.88 (talk) at 23:33, 9 December 2007 (→‎Sony PlayStation Portable). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 can be caused by poorly written device drivers, faulty memory, a corrupt Registry, or incompatible DLLs. Bluescreens have been present in all Windows-based operating systems since Windows 3.1; 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.

Types of BSODs

Windows NT

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.

File:Windows 2000 BSoD.png
Windows 2000 (can also be configured to display debug info like the Windows NT example)

The text on the error screen contains the code of the error as well as 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 with fixing 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.

File:Windows NT 3.5 BSoD.png
Windows NT 3.5

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 task manager, but can be done with an external manager, such as an antivirus program. It can also happen when one of the programs fails.

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

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 there was a version of Windows NT for the DEC Alpha platform and there the console colors could not be changed in an easy way. For consistency reasons blue became the color for Stop errors on all platforms (alpha/i386/mips/ppc).

ReactOS

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.

Windows 9x

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 which 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. This cause is sometimes referred to as DLL hell. 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. If you have just installed a new piece of hardware, updated a driver, or installed an Operating System update shortly before you see the BSOD, be sure to investigate these causes also.

In Windows 95 and 98, a BSOD occurred when the system attempted 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 a removable medium 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]

Windows CE 5.0

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.

File:Wfw311bsod.PNG
Windows for Workgroups 3.11

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.

Xbox

An Xbox 360 showing the "Red Ring Of Death", an unrecoverable hardware failure.

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

Mac OS X 10.5 Leopard

When Mac OS X 10.5 is loading, it shows a blue screen during boot time.[6] However, when an old version of Application Enhancer was loaded, the blue screen lasted for an extended, sometimes indefinite, period of time.[7]

Also on 10.5, the Finder displays a beige CRT monitor with a BSoD on it to represent a SMB share on a network.[8]

Sony 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-backwards compatible registry files.

Display

By default, the display is white (EGA color 0x0F; HTML color #FFFFFF) lettering on a blue (EGA 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 EGA 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 EGA 16-color pallette.

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.

Understanding the Blue Screen of Death

Each BSOD usually displays a message such as FILE_SYSTEM as well as a number like 0x00000022. The usual parameters displayed for the BSOD are the following:

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.[9]

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.

See also

  • Spinning wait cursor — A cursor in Mac OS X that commonly means an application is busy. Often referred to as the spinning beach ball of death, pinwheel of death, spinning wheel of doom, or Rainbow wheel of death, it is a reference to the blue screen of death.
  • Screen of Death — Similar critical errors on other version of Windows and other operating systems.
  • Kernel panic — A critical failure under UNIX and Unix-like operating systems.
  • Guru Meditation — Another type of error messages for Amiga operating systems.
  • Red Ring of Death XBox 360 general hardware failure

References

  1. ^ Microsoft Corporation (1996-10-29). Microsoft Windows NT Workstation Resource Kit (1st edition ed.). Redmond, WA: Microsoft Press. ISBN 1-57231-343-9. {{cite book}}: |edition= has extra text (help)
  2. ^ Microsoft Corporation. "Debugging Tools for Windows - Overview". Retrieved 2006-03-04.
  3. ^ Microsoft Corporation. "Windows feature allows a Memory.dmp file to be generated with the keyboard". Retrieved 2006-03-04.
  4. ^ Microsoft Corporation (2000). "Patch Available for "DOS Device in Path Name" Vulnerability". Microsoft TechNet. Retrieved 2006-03-04.
  5. ^ "COMDEX BSOD". CNNi. 1998.
  6. ^ Leopard Blue Screen Of Death? Nice.
  7. ^ Mac OS X Leopard "Blue Screen of Death"
  8. ^ http://www.silvermac.com/2007/windows-from-the-leopards-poit-of-view/ "Windows from the Leopard’s point of view"
  9. ^ http://msdn.microsoft.com/library/default.asp?url=/library/en-us/w2kmsgs/1117.asp

Template:Screens of death

Template:Link FA