Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Stop error after the surprise removal of a device that is under I/O stress on a Windows Server 2003-based computer: "0x000000D1"


View products that this article applies to.

Symptoms

On a Windows Server 2003-based computer, you may receive the following Stop error message on a blue screen:
0x000000D1 (parameter1, parameter2 , parameter3 , parameter4 ) DRIVER_IRQL_NOT_LESS_OR_EQUAL
Notes
The four parameters in this error message vary, depending on the computer's configuration.
Not all " 0x000000D1" Stop errors are caused by this problem.
This problem may occur after the surprise removal of a device that is under significant I/O stress on a Windows Server 2003-based computer.

↑ Back to the top


Cause

This error is caused by a timing issue in the Storport.sys driver. In this situation, the SrbExtension field of the LUN_RESET request is zeroed out in one thread. However, the Storport.sys driver accesses the same LUN_RESET request. The system triggers the "0x000000D1" Stop error when the SrbExtension field of the LUN_RESET request is accessed after the SrbExtension field is freed.

↑ Back to the top


Workaround

To work around the issue, do not use the StorPortCompleteRequest function in the miniport driver. The StorPortCompleteRequest function will be automatically called by the Microsoft code.

↑ Back to the top


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

↑ Back to the top


Keywords: KB940505, kbtshoot, kbexpertiseinter, kbprb

↑ Back to the top

Article Info
Article ID : 940505
Revision : 2
Created on : 10/12/2007
Published on : 10/12/2007
Exists online : False
Views : 293