Cancel Safe Queue

I tries to implement the cancel safe queue but as soon as i am inserting the
irp (IoCsqInsertIrp) in the queue i get bsod. I am trying this to do while
sitting over the file system (In a file system filter driver).
Can i use the cancel-safe queue over the file system or shall i implement
queue of my own.
When i uses the IoCsqInsertIrpEx with IoCsqIntializeEx it gives the status
back as NT_SUCCESS(status) = 0.

Any suggesstions

Thanks in advance.
=vikramsingh

You should connect a correctly setup debugger and obtain complete bugcheck
information including stack trace with valid symbols and debug your problem.
With enough information somebody here might be able to help you.

=====================
Mark Roddy

-----Original Message-----
From: vikram [mailto:xxxxx@linuxmail.org]
Sent: Monday, February 02, 2004 1:53 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Cancel Safe Queue

I tries to implement the cancel safe queue but as soon as i
am inserting the irp (IoCsqInsertIrp) in the queue i get
bsod. I am trying this to do while sitting over the file
system (In a file system filter driver).
Can i use the cancel-safe queue over the file system or shall
i implement queue of my own.
When i uses the IoCsqInsertIrpEx with IoCsqIntializeEx it
gives the status back as NT_SUCCESS(status) = 0.

Any suggesstions

Thanks in advance.
=vikramsingh


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as:
xxxxx@stratus.com To unsubscribe send a blank email to
xxxxx@lists.osr.com

here is the register dump
eax=ffdff13c ebx=0000001e ecx=bee7862c edx=8046a065 esi=bee78a28
edi=bee789d4
eip=804308ad esp=bee785fc ebp=bee789b8 iopl=0 nv up ei ng nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000286
nt!IopProcessNewChildren+af:

The !analyze -v report is

KMODE_EXCEPTION_NOT_HANDLED (1e)
This is a very common bugcheck. Usually the exception address pinpoints
the driver/function that caused the problem. Always note this address
as well as the link date of the driver/image that contains this address.
Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: 00000000, The address that the exception occurred at
Arg3: 00000000, Parameter 0 of the exception
Arg4: 00000000, Parameter 1 of the exception

Debugging Details:

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at “0x%08lx”
referenced memory at “0x%08lx”. The memory could not be “%s”.

FAULTING_IP:
+0
00000000 ?? ???

EXCEPTION_PARAMETER1: 00000000

EXCEPTION_PARAMETER2: 00000000

READ_ADDRESS: unable to read from 804e40b8
unable to read from 804e3484
unable to read from 804e2310
unable to read from 804d3dc8
unable to read from 804e2328
unable to read from 804e3480
unable to read from 804d3dcc
unable to read from 804e3548
unable to read from 804e4058
00000000

DEFAULT_BUCKET_ID: DRIVER_FAULT

BUGCHECK_STR: 0x1E

LAST_CONTROL_TRANSFER: from 0000001e to 804308ad

STACK_TEXT:
bee785f8 0000001e c0000005 00000000 00000000 nt!IopProcessNewChildren+0xaf

FAILED_INSTRUCTION_ADDRESS:
+0
00000000 ?? ???

FOLLOWUP_IP:
MYDRV!MYDRVonHookDoneWork+58
be97a4b8 2d25643a20 sub eax,0x203a6425

FOLLOWUP_NAME: MachineOwner

SYMBOL_NAME: MYDRV!MYDRVonHookDoneWork+58

MODULE_NAME: MYDRV

IMAGE_NAME: MYDRV.SYS

DEBUG_FLR_IMAGE_TIMESTAMP: 401fbca0

STACK_COMMAND: kb

BUCKET_ID: 0x1E_BAD_IP_MYDRV!MYDRVonHookDoneWork+58

Followup: MachineOwner

I am creating the Csq queues in an Upper filesystem filter driver and i use
__try __except to locate that system crashes while inserting the IRP
(oCsqInsertIrp).

Thanks in advance
=vikram

“Rddy, Mark” wrote in message news:xxxxx@ntdev…
> You should connect a correctly setup debugger and obtain complete bugcheck
> information including stack trace with valid symbols and debug your
problem.
> With enough information somebody here might be able to help you.
>
>
> =====================
> Mark Roddy
>
>
> > -----Original Message-----
> > From: vikram [mailto:xxxxx@linuxmail.org]
> > Sent: Monday, February 02, 2004 1:53 PM
> > To: Windows System Software Devs Interest List
> > Subject: [ntdev] Cancel Safe Queue
> >
> > I tries to implement the cancel safe queue but as soon as i
> > am inserting the irp (IoCsqInsertIrp) in the queue i get
> > bsod. I am trying this to do while sitting over the file
> > system (In a file system filter driver).
> > Can i use the cancel-safe queue over the file system or shall
> > i implement queue of my own.
> > When i uses the IoCsqInsertIrpEx with IoCsqIntializeEx it
> > gives the status back as NT_SUCCESS(status) = 0.
> >
> > Any suggesstions
> >
> > Thanks in advance.
> > =vikramsingh
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at
> > http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as:
> > xxxxx@stratus.com To unsubscribe send a blank email to
> > xxxxx@lists.osr.com
> >
>

Vikram,

You aren’t setting up the queue correctly. Note the faulting address is
0x0.

I’d guess the CSQ package is trying to call one of your function
pointers and you haven’t set it up properly. Stack unwinds seem
problematic when you jump through zero.

Regards,

Tony

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

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of vikram
Sent: Tuesday, February 03, 2004 11:36 AM
To: ntdev redirect
Subject: Re:[ntdev] Cancel Safe Queue

here is the register dump
eax=ffdff13c ebx=0000001e ecx=bee7862c edx=8046a065 esi=bee78a28
edi=bee789d4
eip=804308ad esp=bee785fc ebp=bee789b8 iopl=0 nv up ei ng nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00000286
nt!IopProcessNewChildren+af:

The !analyze -v report is

KMODE_EXCEPTION_NOT_HANDLED (1e)
This is a very common bugcheck. Usually the exception address pinpoints
the driver/function that caused the problem. Always note this address
as well as the link date of the driver/image that contains this address.
Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: 00000000, The address that the exception occurred at
Arg3: 00000000, Parameter 0 of the exception
Arg4: 00000000, Parameter 1 of the exception

Debugging Details:

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at “0x%08lx”
referenced memory at “0x%08lx”. The memory could not be “%s”.

FAULTING_IP:
+0
00000000 ?? ???

EXCEPTION_PARAMETER1: 00000000

EXCEPTION_PARAMETER2: 00000000

READ_ADDRESS: unable to read from 804e40b8
unable to read from 804e3484
unable to read from 804e2310
unable to read from 804d3dc8
unable to read from 804e2328
unable to read from 804e3480
unable to read from 804d3dcc
unable to read from 804e3548
unable to read from 804e4058
00000000

DEFAULT_BUCKET_ID: DRIVER_FAULT

BUGCHECK_STR: 0x1E

LAST_CONTROL_TRANSFER: from 0000001e to 804308ad

STACK_TEXT:
bee785f8 0000001e c0000005 00000000 00000000
nt!IopProcessNewChildren+0xaf

FAILED_INSTRUCTION_ADDRESS:
+0
00000000 ?? ???

FOLLOWUP_IP:
MYDRV!MYDRVonHookDoneWork+58
be97a4b8 2d25643a20 sub eax,0x203a6425

FOLLOWUP_NAME: MachineOwner

SYMBOL_NAME: MYDRV!MYDRVonHookDoneWork+58

MODULE_NAME: MYDRV

IMAGE_NAME: MYDRV.SYS

DEBUG_FLR_IMAGE_TIMESTAMP: 401fbca0

STACK_COMMAND: kb

BUCKET_ID: 0x1E_BAD_IP_MYDRV!MYDRVonHookDoneWork+58

Followup: MachineOwner

I am creating the Csq queues in an Upper filesystem filter driver and i
use
__try __except to locate that system crashes while inserting the IRP
(oCsqInsertIrp).

Thanks in advance
=vikram

“Rddy, Mark” wrote in message
news:xxxxx@ntdev…
> You should connect a correctly setup debugger and obtain complete
bugcheck
> information including stack trace with valid symbols and debug your
problem.
> With enough information somebody here might be able to help you.
>
>
> =====================
> Mark Roddy
>
>
> > -----Original Message-----
> > From: vikram [mailto:xxxxx@linuxmail.org]
> > Sent: Monday, February 02, 2004 1:53 PM
> > To: Windows System Software Devs Interest List
> > Subject: [ntdev] Cancel Safe Queue
> >
> > I tries to implement the cancel safe queue but as soon as i
> > am inserting the irp (IoCsqInsertIrp) in the queue i get
> > bsod. I am trying this to do while sitting over the file
> > system (In a file system filter driver).
> > Can i use the cancel-safe queue over the file system or shall
> > i implement queue of my own.
> > When i uses the IoCsqInsertIrpEx with IoCsqIntializeEx it
> > gives the status back as NT_SUCCESS(status) = 0.
> >
> > Any suggesstions
> >
> > Thanks in advance.
> > =vikramsingh
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at
> > http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as:
> > xxxxx@stratus.com To unsubscribe send a blank email to
> > xxxxx@lists.osr.com
> >
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com