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)
22Jan/080

Documentatia pentru dezvoltatorii de drivere vine lunar

Windows Driver Kit Documentation

VN:F [1.9.3_1094]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
Filed under: DDK Continue reading
3Oct/064

Cum pornesc la drum in scrierea de drivere… folosind Visual Studio

Acum cateva zile un prieten ma intreba cum poate sa scrie repede un driver simplu. I-am explicat atunci ca trebuie sa faca download la DDK sa si-l instaleze, apoi sa ia un sample de acolo, sa intre in mediul de build din linie de comanda si sa dea build. Din cate am vazut pe fata lui, nu prea i-a suras ideea.

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