[ofw] Add Assert to debug BS while deleting WDF device

Uri Habusha urih at mellanox.co.il
Thu Nov 18 07:58:07 PST 2010



-----Original Message-----
From: Hefty, Sean [mailto:sean.hefty at intel.com] 
Sent: Wednesday, November 17, 2010 6:22 PM
To: Uri Habusha; ofw at lists.openfabrics.org; Smith, Stan
Subject: RE: Add Assert to debug BS while deleting WDF device

> We need to understand what exactly is happening.  The winmad and winverbs
> drivers to not interact with ipoib, so I don't understand the relation.
> [Uri Habusha] you correct by OpenSm use winmad and it also disabled

So, the crash is in winmad in WmPowerD0Exit at WdfObjectDelete?
[Uri Habusha] take a look in following stack call

  And opensm is running at the time?  And the HCA driver was disabled?  Is this all correct?
[Uri Habusha] Correct

*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced.  This cannot be protected by try-except,
it must be protected by a Probe.  Typically the address is just plain bad or it
is pointing at freed memory.
Arguments:
Arg1: fffffff0, memory referenced.
Arg2: 00000001, value 0 = read operation, 1 = write operation.
Arg3: 89db8e33, If non-zero, the instruction address which referenced the bad memory
	address.
Arg4: 00000000, (reserved)

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


WRITE_ADDRESS:  fffffff0 

FAULTING_IP: 
+ffffffff89db8e33
89db8e33 890402          mov     dword ptr [edx+eax],eax

MM_INTERNAL_CODE:  0

DEFAULT_BUCKET_ID:  VISTA_DRIVER_FAULT

BUGCHECK_STR:  0x50

PROCESS_NAME:  System

CURRENT_IRQL:  1f

TRAP_FRAME:  837bb7e8 -- (.trap 0xffffffff837bb7e8)
ErrCode = 00000002
eax=89db8e30 ebx=877d1000 ecx=89db8e38 edx=762471c0 esi=837bb8a0 edi=89db8e38
eip=89db8e33 esp=837bb85c ebp=837bb878 iopl=0         nv up ei pl nz na po nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010202
89db8e33 890402          mov     dword ptr [edx+eax],eax ds:0023:fffffff0=????????
Resetting default scope

LAST_CONTROL_TRANSFER:  from 816ec357 to 816d7554

STACK_TEXT:  
837bb33c 816ec357 00000004 9834d02c 00001000 nt!RtlpBreakWithStatusInstruction
837bb38c 816ed1c4 00000004 00000000 00000000 nt!KiBugCheckDebugBreak+0x1c
837bb758 816c4195 00000050 fffffff0 00000001 nt!KeBugCheck2+0x9f4
837bb7d0 81679bf4 00000001 fffffff0 00000000 nt!MmAccessFault+0x10a
837bb7d0 89db8e33 00000001 fffffff0 00000000 nt!KiTrap0E+0xdc
WARNING: Frame IP not in any known module. Following frames may be wrong.
837bb858 82591f38 837bb870 825db900 89e08378 0x89db8e33
837bb878 8258a410 877db950 762471c0 00001000 Wdf01000!FxObjectHandleGetPtr+0x9a
837bb898 82b237e6 00000000 762471c0 837bb8cc Wdf01000!imp_WdfObjectDelete+0x23
837bb8a8 82b23ee1 762471c0 82b27060 89fd5358 winmad!WdfObjectDelete+0x16 [d:\winddk\6001.18001\inc\wdf\kmdf\1.7\wdfobject.h @ 578]
837bb8cc 825bf902 7602ae68 00000005 825dbc30 winmad!WmPowerD0Exit+0xe1 [s:\builds\6861\trunk\core\winmad\kernel\wm_driver.c @ 371]
837bb8ec 825bf50b 89e08378 825db900 89e08378 Wdf01000!FxPkgPnp::PowerGotoD3Stopped+0x14e
837bb964 825c0c97 00000314 00000000 89e08378 Wdf01000!FxPkgPnp::PowerEnterNewState+0x169
837bb98c 825c1047 837bb9a4 0000055b 00000008 Wdf01000!FxPkgPnp::PowerProcessEventInner+0x22a
837bb9b0 825c8db5 00000001 837bb9e4 825c8f80 Wdf01000!FxPkgPnp::PowerProcessEvent+0x20d
837bb9bc 825c8f80 89e08378 89e084e4 89e08378 Wdf01000!FxPkgPnp::NotPowerPolOwnerStopping+0x12
837bb9e4 825c70d4 0000055b 00000000 89e08378 Wdf01000!FxPkgPnp::NotPowerPolicyOwnerEnterNewState+0x15d
837bba0c 825c772f 00000004 0000010e 00000008 Wdf01000!FxPkgPnp::PowerPolicyProcessEventInner+0x2ff
837bba30 825c276a 00000001 837bba64 825c3038 Wdf01000!FxPkgPnp::PowerPolicyProcessEvent+0x218
837bba3c 825c3038 89e08378 825dc270 89e08378 Wdf01000!FxPkgPnp::PnpEventStartedStopping+0xf
837bba64 825c3d8c 0000010e 89e08418 89e08378 Wdf01000!FxPkgPnp::PnpEnterNewState+0x15c
837bba8c 825c40b9 837bbaa4 00000000 89e08378 Wdf01000!FxPkgPnp::PnpProcessEventInner+0x1f5
837bbab4 825bc7c0 00000200 89e08378 825db7a0 Wdf01000!FxPkgPnp::PnpProcessEvent+0x1cf
837bbadc 825bbbcf 89e08378 837bbafc 88606008 Wdf01000!FxPkgPnp::_PnpRemoveDevice+0x69
837bbb00 825a5665 88606008 837bbb28 825a5888 Wdf01000!FxPkgPnp::Dispatch+0x2a6
837bbb0c 825a5888 89fe5ef0 88606008 88606150 Wdf01000!FxDevice::Dispatch+0x7f
837bbb28 816db0c3 89fe5ef0 00000000 837bbbcc Wdf01000!FxDevice::DispatchWithLock+0x7b
837bbb40 817d0856 874f1578 874f1578 874f0638 nt!IofCallDriver+0x63
837bbb74 8189acdf 874f1578 837bbba8 00000000 nt!IopSynchronousCall+0xce
837bbbd0 816e9701 874f1578 00000002 9ea230c8 nt!IopRemoveDevice+0xd1
837bbbf8 81894227 99495998 00000016 00000000 nt!PnpRemoveLockedDeviceNode+0x176
837bbc10 818944d7 00000002 00000016 00000000 nt!PnpDeleteLockedDeviceNode+0x2b
837bbc44 818982c0 874f1578 9ea230c8 00000002 nt!PnpDeleteLockedDeviceNodes+0x4c
837bbd04 81783e17 837bbd34 00000000 a30753b8 nt!PnpProcessQueryRemoveAndEject+0x8cf
837bbd1c 817af3c0 00000000 8172113c 872db580 nt!PnpProcessTargetDeviceEvent+0x38
837bbd44 81657445 8b8d95e8 00000000 872db580 nt!PnpDeviceEventWorker+0x201
837bbd7c 817f4b22 8b8d95e8 9834de60 00000000 nt!ExpWorkerThread+0xfd
837bbdc0 8164da5e 81657348 00000001 00000000 nt!PspSystemThreadStartup+0x9d
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


STACK_COMMAND:  kb

FOLLOWUP_IP: 
winmad!WdfObjectDelete+16 [d:\winddk\6001.18001\inc\wdf\kmdf\1.7\wdfobject.h @ 578]
82b237e6 5d              pop     ebp

SYMBOL_STACK_INDEX:  8

SYMBOL_NAME:  winmad!WdfObjectDelete+16

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: winmad

IMAGE_NAME:  winmad.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  4ce3e82e

FAILURE_BUCKET_ID:  0x50_W_winmad!WdfObjectDelete+16

BUCKET_ID:  0x50_W_winmad!WdfObjectDelete+16

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

0: kd> !wdfkd.wdfdriverinfo winmad.sys
----------------------------------
Default driver image name: winmad
WDF library image name: Wdf01000
 FxDriverGlobals  0x877db950
 WdfBindInfo      0x82b27030
   Version        v1.7 build(6001)
----------------------------------
WDFDRIVER: 0x788247d8

    !WDFDEVICE 0x779a7e00
            <no associated contexts or attribute callbacks>

    !WDFDEVICE 0x7602ae68
            context:  dt 0x89fd5358 WM_IB_DEVICE (size is 0x1e0 bytes)
             <no associated attribute callbacks>
----------------------------------

0: kd> ??ctrldev
struct WDFDEVICE__ * 0x762471c0
   +0x000 unused           : ??

0: kd> !wdfkd.wdfdevice 0x762471c0
c0000005 Exception in wdfkd.wdfdevice debugger extension.
      PC: 086addec  VA: 00000000  R/W: 0  Parameter: 0001003f



More information about the ofw mailing list