Can you create COD files to help you detect which line is causing the
problem?
At any rate, this error can occur even at DISPATCH_LEVEL (irql == 2)
when a piece of memory is in paged pool and you’re touching it here.
For example, is AnsiFileName in paged or non-paged pool?
The best bet to solving this issue (and others that crop up) is to be
able to have WinDbg show the function names by setting the symbol files
and dbg/pdb files up correctly. In lieu of that, use the COD files to
specify the exact line causing the problem.
- jb
============================================
Jonathan Borden
L5 Software Group
“All computers wait at the same speed.”
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Chen
Sent: Wednesday, October 02, 2002 3:59 AM
To: File Systems Developers
Subject: [ntfsd] RE: FS Filter Driver stack dump when BSOD
Hi,
Thanks a lot for all the instructions.
Please see the stack dump again:
xxxxxxxx yyyyyyyy ntoskernel!KeBugCheckEx+0001
xxxxxxxx yyyyyyyy MyDriver!MyDriverRoutine1+007E
xxxxxxxx yyyyyyyy MyDriver!MyDriverRoutine2+004D
xxxxxxxx yyyyyyyy MyDriver!MyDriverRoutine3+001B
xxxxxxxx yyyyyyyy ntoskernel!IoBuildSynchronousFsdRequest+008F
xxxxxxxx yyyyyyyy ntoskernel!ObFindHandleForObject+0607
xxxxxxxx yyyyyyyy ntoskernel!ObOpenObjectByName+00AF
xxxxxxxx yyyyyyyy ntoskernel!IoUpdateShareAccess+02E2
MyDriverRouine1 is defined as follows:
NTSTATUS
GetFullFilePathName(PFILE_OBJECT FileObject,
PHOOK_EXTENSION pHookExt,
CHAR AnsiFileName[520])
{
UNICODE_STRING uszFileName;
ANSI_STRING szFileName;
NTSTATUS nsRet;
if(KeGetCurrentIrql() >= DISPATCH_LEVEL)
return STATUS_UNSUCCESSFUL;
RtlInitUnicodeString(&uszFileName, FileObject->FileName.Buffer);
nsRet = RtlUnicodeStringToAnsiString(&szFileName, &uszFileName,
TRUE);
if(!NT_SUCCESS(nsRet))
return STATUS_UNSUCCESSFUL;
RtlZeroMemory(AnsiFileName, 510);
AnsiFileName[0] = pHookExt->LogicalDrive;
AnsiFileName[1] = ‘:’;
RtlCopyMemory(AnsiFileName+2, szFileName.Buffer, 500);
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(MyDriverRoutine1+007E)
MyStringUpper(AnsiFileName);
RtlFreeAnsiString(&szFileName);
return STATUS_SUCCESS;
}
I have found the place of MyDriverRoutine1+007E, the bugcheck code is
50(PAGE_FAULT_IN_NONPAGED_AREA), but I have no idea about why this error
should happen.
Thanks again,
Chen
You are currently subscribed to ntfsd as: xxxxx@L5sg.com
To unsubscribe send a blank email to %%email.unsub%%