It looks like you’re failing during the comparison to IO_TYPE_DEVICE (3):
cmp word ptr [rax],3
So, where did you get this: pFileObject->DeviceObject?
mm
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@yahoo.com
Sent: Monday, May 16, 2011 8:41 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Problem SYSTEM_SERVICE_EXCEPTION
Here is the output of !analyze -V
****************************************************************************
***
*
*
* Bugcheck Analysis
*
*
*
****************************************************************************
***
SYSTEM_SERVICE_EXCEPTION (3b)
An exception happened while executing a system service routine.
Arguments:
Arg1: 00000000c0000005, Exception code that caused the bugcheck
Arg2: fffff880081e1778, Address of the exception record for the exception
that caused the bugcheck
Arg3: fffff88009b02ed0, Address of the context record for the exception that
caused the bugcheck
Arg4: 0000000000000000, zero.
FAULTING_MODULE: fffff80002e11000 nt
DEBUG_FLR_IMAGE_TIMESTAMP: 4dbe83b5
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at “0x%08lx”
referenced memory at “0x%08lx”. The memory could not be “%s”.
FAULTING_IP:
mydrv!CheckFileObject+330 [f:\mydrv\mydrv.c @ 3194]
fffff880`081e1778 66833803 cmp word ptr [rax],3
CONTEXT: fffff88009b02ed0 – (.cxr 0xfffff88009b02ed0)
rax=0000000000000001 rbx=fffffa800b4b9430 rcx=fffff880081e61a0
rdx=0000000000000007 rsi=fffff8a00fa00000 rdi=0000000000000006
rip=fffff880081e1778 rsp=fffff88009b038b0 rbp=0000000000001da8
r8=0000000000000000 r9=00000000ffffffff r10=fffffa8009119070
r11=fffff88009b03760 r12=fffffa800b0be000 r13=fffff8a00fa2c7cc
r14=0000000000000014 r15=fffffa800b0c1c29
iopl=0 nv up ei pl zr na po nc
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b
efl=00010246
mydrv!CheckFileObject+0x330:
fffff880081e1778 66833803 cmp word ptr [rax],3 ds:002b:00000000
00000001=???
Resetting default scope
DEFAULT_BUCKET_ID: WRONG_SYMBOLS
BUGCHECK_STR: 0x3B
CURRENT_IRQL: 0
LAST_CONTROL_TRANSFER: from fffff880081e13a8 to fffff880081e1778
STACK_TEXT:
fffff88009b038b0 fffff880
081e13a8 : 0000000000000000 fffff880
081e6138
000000000000c861 00000000
000000b8 : mydrv!CheckFileObject+0x330
[f:\mydrv\mydrv.c @ 3194]
fffff88009b03910 fffff880
081decaa : 0000000000000011 00000000
00000004
000000000000c861 fffffa80
0b4b9430 : mydrv!ArIOCTLWIHandler+0xcc
[f:\mydrv\mydrv.c @ 2928]
fffff88009b03960 fffff800
031abf97 : fffffa800763b2e0 fffff880
09b03c60
fffff88009b03c60 fffffa80
0763b2e0 : mydrv!ArIOCTLHandler+0xce
[f:\mydrv\mydrv.c @ 802]
fffff88009b039d0 fffff800
031ac7f6 : 0000000000000000 00000000
00000000
0000000000000000 00000000
00000000 : nt!NtMapViewOfSection+0x15b7
fffff88009b03b00 fffff800
02e908d3 : 0000000000000000 00000000
00000000
0000000000000000 00000000
00000000 : nt!NtDeviceIoControlFile+0x56
fffff88009b03b70 00000000
76db138a : 0000000000000000 00000000
00000000
0000000000000000 00000000
00000000 : nt!KeSynchronizeExecution+0x3a43
000000000220db98 00000000
00000000 : 0000000000000000 00000000
00000000
0000000000000000 00000000
00000000 : 0x76db138a
FOLLOWUP_IP:
mydrv!CheckFileObject+330 [f:\mydrv\mydrv.c @ 3194]
fffff880`081e1778 66833803 cmp word ptr [rax],3
FAULTING_SOURCE_CODE:
3190:
3191: //
3192: // Validate Device object type.
3193: //
3194: if (IO_TYPE_DEVICE !=
pFileObject->DeviceObject->Type)
3195: {
3196: #if DEBUG_FOR_THIS_FUNCTION_ONLY
3197: MYDRV_KDPRINT((“Device object type is not
IO_TYPE_DEVICE.”));
3198: DoTraceMessage(TRACELEVELFOUR, “Device
object type is not IO_TYPE_DEVICE.”);
3199: #endif
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: mydrv!CheckFileObject+330
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: mydrv
IMAGE_NAME: mydrv.sys
STACK_COMMAND: .cxr 0xfffff88009b02ed0 ; kb
BUCKET_ID: WRONG_SYMBOLS
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