Is the framework dying before the first OnInterrupt is called? It does not look that way based on the logs, it looks like a bunch of requests came back to you. You mentioned memory corruption earlier. The callstack you have below does not look like any current issues we have with KMDF, so either you found a bug in KMDF or your memory corruption is now affecting KMDF state/allocations and you are corrupting it. From your end, it is much more actionable to try to isolate corruption issues in your driver. Please turn on both the KMDF and driver verifiers and see what happens. I would also suggest you run prefast for drivers on your code, that may tell you something is amiss.
The “safe” wdf memory APIs are only as safe as the values you pass in. If you pass in a 1 byte buffer and say it is 10 bytes, KMDF has no way of knowing you passed in junk.
d
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@chello.hu
Sent: Monday, October 13, 2008 4:39 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] optimal size of TransferLength in WDF_USB_CONTINUOUS_READER_CONFIG_INIT
Ok, hooked up a serial debugger against the kernel.
Added a Trace message to the OnInterrupt handler to be able to distinguish
which of my 2 c.r. is triggering, the one with the small amount of data (real INT pipe)
or the other with the large amount of data (“virtual” INT pipe, simple bulk-in pipe).
The funny thing is that I don’t even get to OnInterrupt the framework dies before that.
Any idea?
Here are the logs:
Trace format prefix is: %7!u!: %!FUNC! -
TMF file used for formatting IFR log is: C:\WinDDK\6001.18001\tools\tracing\i386\wdf01007.tmf
Log at 82704000
Gather log: Please wait, this may take a moment (reading 4032 bytes).
% read so far … 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
There are 118 log entries
— start of log —
2396002: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8 completed in completion routine
2396003: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08
2396004: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D2D8C08
2396005: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08 completed in completion routine
2396006: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0
2396007: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D8DCFB0
2396008: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0 completed in completion routine
2396009: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0
2396010: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D9380B0
2396011: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0 completed in completion routine
2396012: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8
2396013: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D505CF8
2396014: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8 completed in completion routine
2396015: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0
2396016: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D9380B0
2396017: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0 completed in completion routine
2396018: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08
2396019: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D2D8C08
2396020: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08 completed in completion routine
2396021: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0
2396022: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D8DCFB0
2396023: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0 completed in completion routine
2396024: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8
2396025: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D505CF8
2396026: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8 completed in completion routine
2396027: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0
2396028: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D9380B0
2396029: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0 completed in completion routine
2396030: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8
2396031: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D505CF8
2396032: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8 completed in completion routine
2396033: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08
2396034: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D2D8C08
2396035: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08 completed in completion routine
2396036: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0
2396037: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D8DCFB0
2396038: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0 completed in completion routine
2396039: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0
2396040: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D9380B0
2396041: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0 completed in completion routine
2396042: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8
2396043: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D505CF8
2396044: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8 completed in completion routine
2396045: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0
2396046: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D9380B0
2396047: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0 completed in completion routine
2396048: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08
2396049: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D2D8C08
2396050: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08 completed in completion routine
2396051: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0
2396052: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D8DCFB0
2396053: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0 completed in completion routine
2396054: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8
2396055: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D505CF8
2396056: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8 completed in completion routine
2396057: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0
2396058: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D9380B0
2396059: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0 completed in completion routine
2396060: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8
2396061: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D505CF8
2396062: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8 completed in completion routine
2396063: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08
2396064: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D2D8C08
2396065: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08 completed in completion routine
2396066: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0
2396067: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D8DCFB0
2396068: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0 completed in completion routine
2396069: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0
2396070: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D9380B0
2396071: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0 completed in completion routine
2396072: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8
2396073: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D505CF8
2396074: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8 completed in completion routine
2396075: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0
2396076: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D9380B0
2396077: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0 completed in completion routine
2396078: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08
2396079: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D2D8C08
2396080: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08 completed in completion routine
2396081: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0
2396082: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D8DCFB0
2396083: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0 completed in completion routine
2396084: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8
2396085: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D505CF8
2396086: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8 completed in completion routine
2396087: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0
2396088: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D9380B0
2396089: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0 completed in completion routine
2396090: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8
2396091: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D505CF8
2396092: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8 completed in completion routine
2396093: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08
2396094: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D2D8C08
2396095: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08 completed in completion routine
2396096: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0
2396097: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D8DCFB0
2396098: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0 completed in completion routine
2396099: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0
2396100: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D9380B0
2396101: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0 completed in completion routine
2396102: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8
2396103: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D505CF8
2396104: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8 completed in completion routine
2396105: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0
2396106: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D9380B0
2396107: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D9380B0 completed in completion routine
2396108: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08
2396109: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D2D8C08
2396110: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D2D8C08 completed in completion routine
2396111: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0
2396112: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F7E08, WDFREQUEST 7D8DCFB0
2396113: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D8DCFB0 completed in completion routine
2396114: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8
2396115: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8A38, WDFREQUEST 7D505CF8
2396116: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 7D505CF8 completed in completion routine
2396117: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 826C6920
2396118: FxIoTarget::RemoveCompletedRequestLocked - WDFIOTARGET 7D8F8B78, WDFREQUEST 826C6920
2396119: FxIoTarget::RequestCompletionRoutine - WDFREQUEST 826C6920 completed in completion routine
---- end of log ----
READ_ADDRESS: 425a0094
CURRENT_IRQL: 2
FAULTING_IP:
wdf01000!FxRequestBase::CompleteSubmitted+15
baa55b48 389894000000 cmp byte ptr [eax+94h],bl
DEFAULT_BUCKET_ID: DRIVER_FAULT
BUGCHECK_STR: 0xD1
PROCESS_NAME: csrss.exe
TRAP_FRAME: f8adcd84 – (.trap 0xfffffffff8adcd84)
ErrCode = 00000000
eax=425a0000 ebx=00000000 ecx=826c6920 edx=00000000 esi=826c6920 edi=baa879f4
eip=baa55b48 esp=f8adcdf8 ebp=f8adce04 iopl=0 nv up ei pl zr na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010246
wdf01000!FxRequestBase::CompleteSubmitted+0x15:
baa55b48 389894000000 cmp byte ptr [eax+94h],bl ds:0023:425a0094=??
Resetting default scope
LAST_CONTROL_TRANSFER: from 80532747 to 804e3592
STACK_TEXT:
f8adc938 80532747 00000003 f8adcc94 00000000 nt!RtlpBreakWithStatusInstruction
f8adc984 8053321e 00000003 425a0094 baa55b48 nt!KiBugCheckDebugBreak+0x19
f8adcd64 804e187f 0000000a 425a0094 00000002 nt!KeBugCheck2+0x574
f8adcd64 baa55b48 0000000a 425a0094 00000002 nt!KiTrap0E+0x233
f8adce04 baa2d7dd 826c7473 82707480 00000000 wdf01000!FxRequestBase::CompleteSubmitted+0x15
f8adce20 baa2d8bf 016c6920 8278ed98 f8adce4c wdf01000!FxIoTarget::RequestCompletionRoutine+0x195
f8adce30 8050bf61 00000000 826c73b8 826c6920 wdf01000!FxIoTarget::_RequestCompletionRoutine+0x35
f8adce4c 804e3d38 00000000 826c73b8 8278ed98 nt!IopUnloadSafeCompletion+0x1d
f8adce7c f83940d5 826c73b8 826c5008 82e49028 nt!IopfCompleteRequest+0xa2
f8adcee4 f8394d47 826c7b3c 00000000 82e497d8 USBPORT!USBPORT_CompleteTransfer+0x373
f8adcf14 f8395944 026e6f44 82e490e0 82e490e0 USBPORT!USBPORT_DoneTransfer+0x137
f8adcf4c f839713a 82e49028 804e2eb4 82e49230 USBPORT!USBPORT_FlushDoneTransferList+0x16c
f8adcf78 f83a524b 82e49028 804e2eb4 82e49028 USBPORT!USBPORT_DpcWorker+0x224
f8adcfb4 f83a53c2 82e49028 00000001 82db6380 USBPORT!USBPORT_IsrDpcWorker+0x38f
f8adcfd0 804dbbd4 82e4964c 6b755044 00000000 USBPORT!USBPORT_IsrDpc+0x166
f8adcff4 804db89e f87f0404 00000000 00000000 nt!KiRetireDpcList+0x46
f8adcff8 f87f0404 00000000 00000000 00000000 nt!KiDispatchInterrupt+0x2a
WARNING: Frame IP not in any known module. Following frames may be wrong.
804db89e 00000000 00000009 bb835675 00000128 0xf87f0404
STACK_COMMAND: kb
FOLLOWUP_IP:
wdf01000!FxRequestBase::CompleteSubmitted+15
baa55b48 389894000000 cmp byte ptr [eax+94h],bl
SYMBOL_STACK_INDEX: 4
SYMBOL_NAME: wdf01000!FxRequestBase::CompleteSubmitted+15
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: wdf01000
IMAGE_NAME: wdf01000.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 47919015
FAILURE_BUCKET_ID: 0xD1_wdf01000!FxRequestBase::CompleteSubmitted+15
BUCKET_ID: 0xD1_wdf01000!FxRequestBase::CompleteSubmitted+15
Followup: MachineOwner
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer