RE: [NtDev] Re: NO_MORE_IRP_STACK_LOCATIONS

Just to close this thread. I want to confess I was led astray (from the
right/straight path : ) ) by this NO_MORE_IRP_STACK_LOCATIONS message. I
was writing to an uninitialized memory which happen to belong to some
IO_STACK_LOCATION of an IRP and the system thought its because of
IoCallDriver
called without enough irp stack locations.

Thanks all who commented/tried to help.

best regards,
Hassan

On 05/31/01, ““Hassan I Khan” ” wrote:
> Yes, I confirmed IoCompleteRequest is not the culprit. I had the opportunity
> to complete that Irp in the lower driver before the upper driver call
> IoGetDmaAdapter …which causes IRP_MN_QUERY_INTERFACE …which is causing
> all these problems : )
>
> But how is it possible that if from my lower driver (which is above a
> windows provided pci bus driver) I use IoGetNextIrpStackLocation() or I use
> IoCopyCurrentIrpStackLocationToNext() they are successful.
>
> And Irp->CurrentStackLocation is correct (=2) and DeviceObject->StackSize is
> 2 and Irp->StackCount is 3 (both seems correct) and yet I am getting
> IRP_NO_MORE_STACK_LOCATIONS !
>
> regards,
> Hassan
>
>
> >From: Gary Little
> >Reply-To: “NT Developers Interest List”
> >To: “NT Developers Interest List”
> >Subject: [ntdev] RE: [NtDev] Re: NO_MORE_IRP_STACK_LOCATIONS
> >Date: Thu, 31 May 2001 12:16:16 -0700
> >
> >No, IoCompleteRequest, more than likely did not cause the crash. What
> >caused
> >the crash was the driver or a driver in the DevNode, calling
> >IoCompleteRequest had screwed the pooch.
> >
> >First: MULTIPLE_IRP_COMPLETE_REQUESTS — your driver completed the IRP a
> >second time.
> >
> >Second: NO_MORE_IRP_STACK_LOCATIONS — you are using a layered model and
> >did not increment the stack locations in the upper driver when DriverEntry
> >(or AddDevice) called IoCreateDeviceObject and after the device object was
> >attached to the lower device object.
> >
> >Those are generally the obvious causes of these 2 BSODs. Synchronization
> >problems and released or not held spin locks can also cause them.
> >
> >Gary G. Little
> >Staff Engineer
> >Broadband Storage, Inc.
> >xxxxx@Broadstor.com
> >xxxxx@inland.net
> >
> >-----Original Message-----
> >From: Hrdina Pavel [mailto:xxxxx@compelson.com]
> >Sent: Thursday, May 31, 2001 11:53 AM
> >To: NT Developers Interest List
> >Subject: [ntdev] Re: NO_MORE_IRP_STACK_LOCATIONS
> >
> >
> >
> >Hello boys, Hassan and Heldai !
> >
> >I want to tell you that IoCompleteRequest can cause a BSOD, but
> >a slightly different type: MULTIPLE_IRP_COMPLETE_REQUESTS.
> >Your case is probably that in IoCallDriver when there isn’t available
> >next irp stack location.
> >
> >Hope this helps
> >Paul
> >
> >-----Original Message-----
> >From: xxxxx@lists.osr.com [
> >mailto:xxxxx@lists.osr.com
> >mailto:xxxxx]On Behalf Of Heldai
> >Sent: Thursday, May 31, 2001 8:37 PM
> >To: NT Developers Interest List
> >Subject: [ntdev] Re: NO_MORE_IRP_STACK_LOCATIONS
> >
> >
> >I has get this bug check when I was using IoSetCompletionRoutine and the
> >Irp
> >
> >need someone processing or I don’t decrease the Stack Counter.
> >
> >Another situation was that I was sending to the next driver, mine Irp’s
> >don’t accepted by next drivers.
> >
> >----- Original Message -----
> >From:
> >To: “NT Developers Interest List”
> >Sent: Thursday, May 31, 2001 2:10 PM
> >Subject: [ntdev] Re: NO_MORE_IRP_STACK_LOCATIONS
> >
> >
> > > Is it possible to get NO_MORE_IRP_STACK_LOCATIONS bugcheck from
> > > IoCompleteRequest routine ?
> > >
> > > The Irp Address given in the bugcheck 0x35 belongs to an Irp that I am
> > > completing using IoCompleteRequest(). Also the system crashes when
> > > IoCompleteRequest is called. I can’t see the connection between
> > > IoCompleteRequest and this bugcheck. But all things seem to point
> >towards
> > > it.
> > >
> > > Thanks for any comment you can give.
> > >
> > > regards,
> > > Hassan
> > >
> > > —
> > > You are currently subscribed to ntdev as: xxxxx@scuasecurity.com.br
> > > To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> > >
> >
> >
> >—
> >You are currently subscribed to ntdev as: xxxxx@compelson.com
> >To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> >
> >—
> >You are currently subscribed to ntdev as: xxxxx@broadstor.com
> >To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
> >
> >
> >
> >—
> >You are currently subscribed to ntdev as: xxxxx@hotmail.com
> >To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
> _________________________________________________________________________
> Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
>
>
> —
> You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</mailto:xxxxx>