Twindows Internals (RO) despre Windows, software si alte lucruri de care ne mai lovim

1Jul/085

Un gandac in Windows Home Server

Lucram in perioada aceasta la un proiect ce implica un driver care creeaza discuri virtuale. Continutul discului virtual este stocat intr-un fisier, iar sarcina driver-ului este de a prezenta continutul acestui fisier ca un disc.

Testand driver-ul pe Windows Home Server cu Driver Verifier activat, sistemul s-a blocat dupa formatarea discului, afisand un binecunoscut ecran albastru.

Bug Windows Home Server

Pentru a identifica sursa erorii, am recreat conditiile aparitiei bug-ului cu debugger-ul (WinDbg) atasat la sistemul de operare.

Analizand crash-ul cu ajutorul lui WinDbg, am observat urmatorul mesaj:

kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************
DRIVER_VERIFIER_IOMANAGER_VIOLATION (c9)
The IO manager has caught a misbehaving driver.
Arguments:
Arg1: 0000000c, Invalid IOSB in IRP at APC IopCompleteRequest (appears to be on
 stack that was unwound)
Arg2: b9b02810, IOSB address
Arg3: 00000000, IRP address
Arg4: 00000000, 0

Mai mult, analiza spunea ca driver-ul care a cauzat eroarea este chiar driver-ul nostru (MYDRIVER).

BUGCHECK_STR:  0xc9_c
DRIVER_VERIFIER_IO_VIOLATION_TYPE:  c
IOSB_ADDRESS: ffffffffb9b02810
IRP_ADDRESS:  82f5af20
DEFAULT_BUCKET_ID:  DRIVER_FAULT
PROCESS_NAME:  explorer.exe
CURRENT_IRQL:  1
DEVICE_OBJECT: 8186f030
DRIVER_OBJECT: 8179a158
IMAGE_NAME:  MYDRIVER.sys
DEBUG_FLR_IMAGE_TIMESTAMP:  48693683
MODULE_NAME: MYDRIVER
FAULTING_MODULE: b9878000 MYDRIVER

Aveam toate motivele sa credem ca avem un bug in driver, deci am pornit la vanatoare.

VN:F [1.9.3_1094]
Rating: 5.0/5 (4 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)