Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

USBSTOR problem

0 views
Skip to first unread message

Ziv

unread,
Jun 23, 2008, 9:33:16 PM6/23/08
to
Hi all,

I am writing a bus driver and there are some mass storage device
attached to my bus.

I got a crash after running few hours. I try to analyze cause but I
don't know how to mapping the problem to my driver.

Could you tell what kind of URB let my driver crash according to the
dump below? Thanks ^_^

Best regards,
Ziv


====================================================

Use !analyze -v to get detailed debugging information.

BugCheck C4, {53, 954cef20, 48706345, 95993d30}

Probably caused by : USBSTOR.SYS ( USBSTOR!USBSTOR_IsDeviceConnected
+d5 )

Followup: MachineOwner
---------

0: kd> .reload
Loading Kernel Symbols
.......................................................................................................................................
Loading User Symbols

Loading unloaded module list
.................................................
0: kd> .reload
Loading Kernel Symbols
.......................................................................................................................................
Loading User Symbols

Loading unloaded module list
.................................................
0: kd> !analyze -v
*******************************************************************************
*
*
* Bugcheck
Analysis *
*
*
*******************************************************************************

DRIVER_VERIFIER_DETECTED_VIOLATION (c4)
A device driver attempting to corrupt the system has been caught.
This is
because the driver was specified in the registry as being suspect (by
the
administrator) and the kernel has enabled substantial checking of this
driver.
If the driver attempts to corrupt the system, bugchecks 0xC4, 0xC1 and
0xA will
be among the most commonly seen crashes.
Parameter 1 = 0x1000 .. 0x1020 - deadlock verifier error
codes.
Typically the code is 0x1001 (deadlock detected) and
you can
issue a '!deadlock' KD command to get more information.
Arguments:
Arg1: 00000053, freeing memory where the caller has written past the
end of the
allocation, overwriting our stored virtual address.
Arg2: 954cef20, base address of the allocation,
Arg3: 48706345, header,
Arg4: 95993d30, (reserved)

Debugging Details:
------------------


BUGCHECK_STR: 0xc4_53

WRITE_ADDRESS: 954cef20 Nonpaged pool

DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT

PROCESS_NAME: System

CURRENT_IRQL: 0

LAST_CONTROL_TRANSFER: from 81aee5a7 to 818d1163

STACK_TEXT:
90b55bfc 81aee5a7 000000c4 00000053 954cef20 nt!KeBugCheckEx+0x1e
90b55c1c 81ae8091 954cef20 48706345 954cef18 nt!
VerifierBugCheckIfAppropriate+0x32
90b55c38 818f23c2 954cef20 000000e0 00000000 nt!ViFreeTrackedPool+0x9e
90b55ca8 81841194 954cef20 00000000 90b55ce4 nt!ExFreePoolWithTag
+0x534
90b55cc4 81ae61cd 954cef20 00000000 954cef20 nt!IopFreeIrp+0x56
90b55cdc bcd90f55 00000000 00000000 957c05b8 nt!IovFreeIrpPrivate+0x58
90b55d08 bcd91bb9 957c0500 81906100 957c0500 USBSTOR!
USBSTOR_IsDeviceConnected+0xd5
90b55d30 81a2023b 957c0500 00000002 909fcd78 USBSTOR!
USBSTOR_ResetDeviceWorkItem+0x113
90b55d44 8183c41d 958dfd60 00000000 909fcd78 nt!IopProcessWorkItem
+0x23
90b55d7c 819d9a1c 958dfd60 468f5ab5 00000000 nt!ExpWorkerThread+0xfd
90b55dc0 81832a3e 8183c320 00000000 00000000 nt!PspSystemThreadStartup
+0x9d
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


STACK_COMMAND: kb

FOLLOWUP_IP:
USBSTOR!USBSTOR_IsDeviceConnected+d5
bcd90f55 3bfb cmp edi,ebx

SYMBOL_STACK_INDEX: 6

SYMBOL_NAME: USBSTOR!USBSTOR_IsDeviceConnected+d5

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: USBSTOR

IMAGE_NAME: USBSTOR.SYS

DEBUG_FLR_IMAGE_TIMESTAMP: 47919052

FAILURE_BUCKET_ID: 0xc4_53_W_VRFK_USBSTOR!USBSTOR_IsDeviceConnected
+d5

BUCKET_ID: 0xc4_53_W_VRFK_USBSTOR!USBSTOR_IsDeviceConnected+d5

Followup: MachineOwner
---------

0: kd> !pool 954cef20
Pool page 954cef20 region is Nonpaged pool
954ce000 size: 40 previous size: 0 (Allocated) Vad
954ce040 size: 10 previous size: 40 (Free) .l..
954ce050 size: 40 previous size: 10 (Allocated) Vad
954ce090 size: 30 previous size: 40 (Allocated) Ntfn
954ce0c0 size: 70 previous size: 30 (Allocated) FMsl
954ce130 size: 40 previous size: 70 (Allocated) Vad
954ce170 size: 40 previous size: 40 (Allocated) Vad
954ce1b0 size: 70 previous size: 40 (Allocated) FMsl
954ce220 size: 70 previous size: 70 (Allocated) FMsl
954ce290 size: 18 previous size: 70 (Allocated) MmSi
954ce2a8 size: 30 previous size: 18 (Allocated) Ntfn
954ce2d8 size: e8 previous size: 30 (Allocated) Irp
954ce3c0 size: 38 previous size: e8 (Allocated) FMvj
954ce3f8 size: a0 previous size: 38 (Allocated) ViMm
954ce498 size: 30 previous size: a0 (Allocated) FSro
954ce4c8 size: 30 previous size: 30 (Allocated) FSro
954ce4f8 size: 70 previous size: 30 (Allocated) FMsl
954ce568 size: 38 previous size: 70 (Allocated) FMvj
954ce5a0 size: 40 previous size: 38 (Allocated) Vad
954ce5e0 size: 48 previous size: 40 (Allocated) Ntfr
954ce628 size: 78 previous size: 48 (Allocated) FMfc
954ce6a0 size: 38 previous size: 78 (Allocated) Even
(Protected)
954ce6d8 size: 48 previous size: 38 (Allocated) Ntfr
954ce720 size: 10 previous size: 48 (Free) FMsl
954ce730 size: d0 previous size: 10 (Allocated) File
(Protected)
954ce800 size: 48 previous size: d0 (Allocated) Ntfr
954ce848 size: 30 previous size: 48 (Allocated) Ntfx
954ce878 size: 48 previous size: 30 (Allocated) Ntfr
954ce8c0 size: 128 previous size: 48 (Allocated) Ntfi
954ce9e8 size: 2c0 previous size: 128 (Allocated) Thre
(Protected)
954ceca8 size: 8 previous size: 2c0 (Free) FMng
954cecb0 size: 90 previous size: 8 (Allocated) MmCa
954ced40 size: 18 previous size: 90 (Allocated) MmSi
954ced58 size: 28 previous size: 18 (Allocated) VfAT
954ced80 size: 30 previous size: 28 (Allocated) Ntfx
954cedb0 size: 38 previous size: 30 (Allocated) Even
(Protected)
954cede8 size: 48 previous size: 38 (Allocated) Ntfr
954cee30 size: 8 previous size: 48 (Free) FMsl
954cee38 size: 50 previous size: 8 (Allocated) CM44 Process:
9544ad88
954cee88 size: 50 previous size: 50 (Allocated) CM44 Process:
9544ad88
954ceed8 size: 40 previous size: 50 (Allocated) AlIn
*954cef18 size: e8 previous size: 40 (Allocated) *Irp
Pooltag Irp : Io, IRP packets

Volodymyr M. Shcherbyna

unread,
Jun 24, 2008, 3:02:07 AM6/24/08
to
It seems like some code is corrupting memory (I suppose, it is your driver).
Try to locate all your memory operations, typically by checking how much you
allocate, and how much you write.

--
V.
This posting is provided "AS IS" with no warranties, and confers no
rights.
"Ziv" <ZivH...@gmail.com> wrote in message
news:b8f14177-35c7-468e...@c19g2000prf.googlegroups.com...

Jack Huang

unread,
Jun 26, 2008, 11:38:57 AM6/26/08
to
According to analyzer report, driver verifier detected a deadlock condition
and cause this BSOD.
It also suggested you type !deadlock to get further information about
deadlock.

Best Regards
Jack Huang

"Ziv" <ZivH...@gmail.com> ...

0 new messages