RE: page fault from synchronous FSD request in Create Com-pletion routine

Tony,

Neil is our client and the fault is in our driver we write. I can send the
code if it helps, but it loosk as though the stack is quite full. It works
90% of the time, but 10% of the time is will BSOD withan 0x0e. I am thinking
that I may have an issue with stack space. The call stack is huge when the
trap happens.

We have an IRP_MJ_CREATE handler and on call to the completion routine, we
read some data fromt he file (i.e. a header). Reading this header
occasionaly fals. In fact, just before the read, we issue an IRP to get
standard information and it works great.

Maybe rather than processing create completion in the completion handler, I
should do it inline withIRP_MJ_CREATE by using the completion handler to ony
set and event?>

Jamey

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Tony Mason
Sent: Friday, March 10, 2000 9:17 PM
To: File Systems Developers
Subject: [ntfsd] RE: page fault from synchronous FSD request in Create
Com pletion routine

Given that this is a page fault, is it possible that maybe you have the
address on which it is faulting? For instance, if this is a fault in some
kernel address you have one sort of problem (memory that has been
freed, for
instance.) If this is a fault in some user address (hmm, like something
very close to zero) you could have a NULL pointer dereference or
uninitialized variable.

Of course, without having access to the code it is hard to look for what
could easily be a detail of the implementation type error. I
presume you’ve
checked for obvious things (like setting
IoGetCurrentIrpStackLocation(Irp)->FileObject, which is not done by
IoBuildSynchronousFsdRequest, since the latter routine is used by
an FSD to
call a storage driver and is thus normally superfluous…)

Best of luck - trying to debug problems like this via general descriptions
is (in my experience) a tough thing for this group (or anyone, really) to
accomplish.

Regards,

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

From: Neil Weicher [mailto:xxxxx@netlib.com]
Sent: Friday, March 10, 2000 8:16 PM
To: File Systems Developers
Subject: [ntfsd] page fault from synchronous FSD request in Create
Completion routine

A file filter driver is getting a page fault at CcFlushCache+1A2h as a
result
of a synchronous read request in the Completion routine of an
IRP_MJ_CREATE
hander.

It seems to be going by the book with and has been checked over and over
again. It basically does:

KeInitializeEvent
IoBuildSynchronousFsdRequest
IoGetNextIrpStackLocation
IoCallDriver
KeWaitForSingleObject

The routines as always return STATUS_SUCCESS and it definitely has the
correct
values for the driver, file objects, irp, etc.

Does anyone have any experience with this and/or any any suggestions as to
what to
look for?

Thanks.

Neil


You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)