I have double checked everything including running with verifier.
This code has been running for 1 yr without issues. Suddenly though when
used with USB isochronous devices, I see these issues.
It seems like some object in KMDF…but I don’t know which object.
I’d say one thing new I have introduced in the code. I have a installed
a IRP preprocess handler for PNP irps. But I only look for minor code of
QUERY_INTERFACE. Now sure how that affects it. Also if there was
something fundamentally wrong, it would crash every time or get caught
with verifier. This is quite intermittent.
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Gary G. Little
Sent: Sunday, November 14, 2010 7:35 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] WDF Crash
" Typically this is at a bad IRQL level or double freeing the same
allocation, etc."
Did you step into the code and check to see if you are freeing a chunk
of memory more than once? Or completing an IRP more than once?
Gary G. Little
H (952) 223-1349
C (952) 454-4629
xxxxx@comcast.net
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Pankaj Garg
Sent: Sunday, November 14, 2010 8:03 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] WDF Crash
Actually I did !analyze -c and this stack is from that only.
I should have posted the whole thing…so here it is now -:
I have tried verifier and it doesn’t seem to ever catch it.
BAD_POOL_CALLER (c2)
The current thread is making a bad pool request. Typically this is at a
bad IRQL level or double freeing the same allocation, etc.
Arguments:
Arg1: 00000007, Attempt to free pool which was already freed
Arg2: 00000cd4, (reserved)
Arg3: 021d0008, Memory contents of the pool block
Arg4: 828e72b0, Address of the block of pool being deallocated
Debugging Details:
POOL_ADDRESS: 828e72b0
FREED_POOL_TAG: pano
BUGCHECK_STR: 0xc2_7_pano
DEFAULT_BUCKET_ID: DRIVER_FAULT
PROCESS_NAME: System
LAST_CONTROL_TRANSFER: from 8054b583 to 804f9f43
STACK_TEXT:
f8af59e4 8054b583 000000c2 00000007 00000cd4 nt!KeBugCheckEx+0x1b
f8af5a34 8054b95f 828e72b0 00000000 f8af5a5c nt!ExFreePoolWithTag+0x2a3
f8af5a44 80537916 828e72b0 8277d170 8277d000 nt!ExFreePool+0xf
f8af5a5c f80c5689 8277d120 00000000 8277d000
nt!ExDeleteNPagedLookasideList+0x3a
f8af5a70 f80c5a86 8277d000 f8af5a9c f80a4f8e
Wdf01000!FxDevice::~FxDevice+0x18d
f8af5a7c f80a4f8e 00000001 f80e381b 00000001 Wdf01000!FxDevice::`scalar
deleting destructor’+0xd
f8af5a84 f80e381b 00000001 00000000 00000000
Wdf01000!FxObject::SelfDestruct+0xb
f8af5a9c f80a4fd6 8277d000 8277d014 f8af5ac8
Wdf01000!FxObject::ProcessDestroy+0xa6
f8af5aac f80e3951 00000000 000004b1 f80fc5a8
Wdf01000!FxObject::Release+0x42
f8af5ac8 f80e428c 8277d000 00000001 82abbd00
Wdf01000!FxObject::DeletedAndDisposedWorkerLocked+0xb2
f8af5ae8 f80c592d f8af5b78 82abbd00 82490728
Wdf01000!FxObject::DeleteObject+0xe8
f8af5b00 f80ce2b6 f8af5b28 f80e75fd 8277d000
Wdf01000!FxDevice::DeleteObject+0x15a
f8af5b08 f80e75fd 8277d000 82abbd00 f80ed7ed
Wdf01000!FxDeviceToMx::DeleteObject+0xd
f8af5b14 f80ed7ed 00000000 f8af5b78 82abbd00
Wdf01000!FxPkgPnp::DeleteDevice+0x15
f8af5b28 f80e76d6 f8af5b78 82759ab8 82abbd00
Wdf01000!FxPkgPdo::ProcessRemoveDeviceOverload+0x3a
f8af5b50 f80e8e02 82abbd00 82759ab8 827510f0
Wdf01000!FxPkgPnp::_PnpRemoveDevice+0xd2
f8af5b70 f80c5326 82490728 82490728 82900a30
Wdf01000!FxPkgPnp::Dispatch+0x207
f8af5b8c f80c59f2 82490728 f8af5bb4 f80c5c63
Wdf01000!FxDevice::PreprocessIrp+0xda
f8af5b98 f80c5c63 82900a30 82490728 82490804
Wdf01000!FxDevice::Dispatch+0x32
f8af5bb4 804ef19f 82900a30 00000000 82bdd9a0
Wdf01000!FxDevice::DispatchWithLock+0x7b
f8af5bc4 f895fecf 8054bd24 00000000 00000002 nt!IopfCallDriver+0x31
f8af5c0c f895a5e5 82ab63b0 82490728 0000001b usbccgp!USBC_PnP+0x12f
f8af5c48 804ef19f 82ab62f8 82490728 f8af5cd4 usbccgp!USBC_Dispatch+0x195
f8af5c58 80592b63 82900a30 82900a30 00000002 nt!IopfCallDriver+0x31
f8af5c84 80592dc5 82ab62f8 f8af5cb0 00000000 nt!IopSynchronousCall+0xb7
f8af5cd8 804f6f70 82900a30 00000002 00000000 nt!IopRemoveDevice+0x93
f8af5d00 80594796 e1a92cd0 00000018 e166d518
nt!IopRemoveLockedDeviceNode+0x160
f8af5d18 805947fd 82671388 00000002 e166d518
nt!IopDeleteLockedDeviceNode+0x34
f8af5d4c 805948a1 82900a30 0266d518 00000002
nt!IopDeleteLockedDeviceNodes+0x3f
f8af5d7c 8053877d 82a1a0a8 00000000 82dc43c8
nt!IopDelayedRemoveWorker+0x4b
f8af5dac 805cff72 82a1a0a8 00000000 00000000 nt!ExpWorkerThread+0xef
f8af5ddc 805460ee 8053868e 00000001 00000000
nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16
STACK_COMMAND: kb
FOLLOWUP_IP:
Wdf01000!FxDevice::~FxDevice+18d
f80c5689 891f mov dword ptr [edi],ebx
SYMBOL_STACK_INDEX: 4
SYMBOL_NAME: Wdf01000!FxDevice::~FxDevice+18d
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: Wdf01000
IMAGE_NAME: Wdf01000.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 4a5bbf28
FAILURE_BUCKET_ID: 0xc2_7_pano_Wdf01000!FxDevice::_FxDevice+18d
BUCKET_ID: 0xc2_7_pano_Wdf01000!FxDevice::_FxDevice+18d
Followup: MachineOwner
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Gary G. Little
Sent: Sunday, November 14, 2010 5:29 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] WDF Crash
Didn’t bother to look before you posted did you? Why didn’t you post an
“!analyze -v” dump?
Gary G. Little
H (952) 223-1349
C (952) 454-4629
xxxxx@comcast.net
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Pankaj Garg
Sent: Sunday, November 14, 2010 7:15 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] WDF Crash
Hi,
I’m looking for some help with this crash. I have a virtual USB bus
driver and this happens sometimes when a device is removed. Mostly its
happening when an USB Audio headphone (while playing music) is removed.
I have tested many other devices and this doesn’t seem to happen with
mass storage etc.
Any help is appreciated.
f8af59e4 8054b583 nt!KeBugCheckEx+0x1b
f8af5a34 8054b95f nt!ExFreePoolWithTag+0x2a3
f8af5a44 80537916 nt!ExFreePool+0xf
f8af5a5c f80c5689 nt!ExDeleteNPagedLookasideList+0x3a
f8af5a70 f80c5a86 Wdf01000!FxDevice::~FxDevice+0x18d
f8af5a7c f80a4f8e Wdf01000!FxDevice::`scalar deleting destructor’+0xd
f8af5a84 f80e381b Wdf01000!FxObject::SelfDestruct+0xb
f8af5a9c f80a4fd6 Wdf01000!FxObject::ProcessDestroy+0xa6
f8af5aac f80e3951 Wdf01000!FxObject::Release+0x42
f8af5ac8 f80e428c Wdf01000!FxObject::DeletedAndDisposedWorkerLocked+0xb2
f8af5ae8 f80c592d Wdf01000!FxObject::DeleteObject+0xe8
f8af5b00 f80ce2b6 Wdf01000!FxDevice::DeleteObject+0x15a
f8af5b08 f80e75fd Wdf01000!FxDeviceToMx::DeleteObject+0xd
f8af5b14 f80ed7ed Wdf01000!FxPkgPnp::DeleteDevice+0x15
f8af5b28 f80e76d6 Wdf01000!FxPkgPdo::ProcessRemoveDeviceOverload+0x3a
f8af5b50 f80e8e02 Wdf01000!FxPkgPnp::_PnpRemoveDevice+0xd2
f8af5b70 f80c5326 Wdf01000!FxPkgPnp::Dispatch+0x207
f8af5b8c f80c59f2 Wdf01000!FxDevice::PreprocessIrp+0xda
f8af5b98 f80c5c63 Wdf01000!FxDevice::Dispatch+0x32
f8af5bb4 804ef19f Wdf01000!FxDevice::DispatchWithLock+0x7b
f8af5bc4 f895fecf nt!IopfCallDriver+0x31
f8af5c0c f895a5e5 usbccgp!USBC_PnP+0x12f
f8af5c48 804ef19f usbccgp!USBC_Dispatch+0x195
f8af5c58 80592b63 nt!IopfCallDriver+0x31
f8af5c84 80592dc5 nt!IopSynchronousCall+0xb7
f8af5cd8 804f6f70 nt!IopRemoveDevice+0x93
f8af5d00 80594796 nt!IopRemoveLockedDeviceNode+0x160
f8af5d18 805947fd nt!IopDeleteLockedDeviceNode+0x34
f8af5d4c 805948a1 nt!IopDeleteLockedDeviceNodes+0x3f
f8af5d7c 8053877d nt!IopDelayedRemoveWorker+0x4b
f8af5dac 805cff72 nt!ExpWorkerThread+0xef
f8af5ddc 805460ee nt!PspSystemThreadStartup+0x34
00000000 00000000 nt!KiThreadStartup+0x16
-pankaj
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
__________ Information from ESET Smart Security, version of virus
signature database 5619 (20101114) __________
The message was checked by ESET Smart Security.
http://www.eset.com
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
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
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