[pso] BSOD MmGetSystemAddressForMdlSafe
Matei Gruber
matei.gruber at gmail.com
Sun May 10 13:02:24 EEST 2009
Salut,
Creez un device de tip FILE_DEVICE_DISK si folosesc DO_DIRECT_IO. In
rutinele de read si write copiez date in/din buffer mapat cu
MmGetSystemAddressForMdlSafe(irp->MdlAddress, NormalPagePriority).
Rulez suita de test, trec toate testele. Rulez din nou, primesc BSOD.
Nu imi este f. clar mecanismul de folosire al MmGetSystemAddressForMdlSafe.
Multumesc,
Matei
kd> !analyze -v
*******************************************************************************
*
*
* Bugcheck Analysis
*
*
*
*******************************************************************************
LOCKED_PAGES_TRACKER_CORRUPTION (d9)
Arguments:
Arg1: 00000001, The MDL is being inserted twice on the same process list.
Arg2: 812d8df0, Address of internal lock tracking structure.
Arg3: 81638688, Address of memory descriptor list.
Arg4: 00000001, Number of pages locked for the current process.
Debugging Details:
------------------
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: kernel32!pNlsUserInfo ***
*** ***
*************************************************************************
*************************************************************************
*** ***
*** ***
*** Your debugger is not using the correct symbols ***
*** ***
*** In order for this command to work properly, your symbol path ***
*** must point to .pdb files that have full type information. ***
*** ***
*** Certain .pdb files (such as the public OS symbols) do not ***
*** contain the required information. Contact the group that ***
*** provided you with these symbols if you need this command to ***
*** work. ***
*** ***
*** Type referenced: kernel32!pNlsUserInfo ***
*** ***
*************************************************************************
DEFAULT_BUCKET_ID: DRIVER_FAULT
BUGCHECK_STR: 0xD9
PROCESS_NAME: test.exe
CURRENT_IRQL: 2
LAST_CONTROL_TRANSFER: from 808374a3 to 80826659
STACK_TEXT:
f91e0b60 808374a3 000000d9 00000001 812d8df0 nt!KeBugCheckEx+0x1b
f91e0b94 8083cf10 8139d6b0 808e98e3 80882fa8 nt!MiAddMdlTracker+0xd9
f91e0cb0 808e98e3 81638688 00000001 00000001 nt!MmProbeAndLockPages+0x104c
f91e0d38 80882fa8 000007d4 00000000 00000000 nt!NtReadFile+0x56d
f91e0d38 7c82ed54 000007d4 00000000 00000000 nt!KiFastCallEntry+0xf8
0012fecc 7c821b84 77e41942 000007d4 00000000 ntdll!KiFastSystemCallRet
0012fed0 77e41942 000007d4 00000000 00000000 ntdll!NtReadFile+0xc
0012ff38 00401e8f 000007d4 00415ab0 00000200 kernel32!ReadFile+0x16c
WARNING: Stack unwind information not available. Following frames may be
wrong.
0012ff70 0040107a 0012ffc0 00404865 00000001 test+0x1e8f
0012ff78 00404865 00000001 003137d0 003137e8 test+0x107a
0012ffc0 77e523cd 00000000 00000000 7ffdf000 test+0x4865
0012fff0 00000000 004048bc 00000000 78746341 kernel32!BaseProcessStart+0x23
STACK_COMMAND: kb
FOLLOWUP_IP:
nt!MiAddMdlTracker+d9
808374a3 cc int 3
SYMBOL_STACK_INDEX: 1
SYMBOL_NAME: nt!MiAddMdlTracker+d9
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: nt
DEBUG_FLR_IMAGE_TIMESTAMP: 42435b14
IMAGE_NAME: memory_corruption
FAILURE_BUCKET_ID: 0xD9_nt!MiAddMdlTracker+d9
BUCKET_ID: 0xD9_nt!MiAddMdlTracker+d9
Followup: MachineOwner
---------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/pso/attachments/20090510/db5bd87d/attachment.htm>
More information about the pso
mailing list