Prev: Quiet Install Using DPinst under XP
Next: WDF EvtIoStop, are interrupts hooked when this callback is cal
From: rookieroo on 16 Feb 2007 04:57 Hi, I am writing a ndis 6.0 miniport driver. I install the driver from device manager. When installing, Miniportinitializeex is called. Before returning status from miniportinitializeex, I log a line with status. In WinDbg, I see this log line and then a bug check (IRQL_NOT_LESS_OR_EQUAL in ndis.sys). Has anybody seen this? What could be the problem? Thanks. kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* IRQL_NOT_LESS_OR_EQUAL (a) An attempt was made to access a pageable (or completely invalid) address at an interrupt request level (IRQL) that is too high. This is usually caused by drivers using improper addresses. If a kernel debugger is available get the stack backtrace. Arguments: Arg1: 00000016, memory referenced Arg2: 0000001b, IRQL Arg3: 00000000, value 0 = read operation, 1 = write operation Arg4: 820c9bdd, address which referenced memory Debugging Details: ------------------ READ_ADDRESS: 00000016 CURRENT_IRQL: 1b FAULTING_IP: nt!KiSignalTimer+53 820c9bdd 80781601 cmp byte ptr [eax+16h],1 DEFAULT_BUCKET_ID: VISTA_RC BUGCHECK_STR: 0xA PROCESS_NAME: System TRAP_FRAME: 861e75a4 -- (.trap ffffffff861e75a4) ErrCode = 00000000 eax=00000000 ebx=00000000 ecx=dc9a0d8a edx=00000000 esi=8385d158 edi=8385d160 eip=820c9bdd esp=861e7618 ebp=861e7638 iopl=0 nv up ei ng nz ac po cy cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010293 nt!KiSignalTimer+0x53: 820c9bdd 80781601 cmp byte ptr [eax+16h],1 ds: 0023:00000016=?? Resetting default scope LOCK_ADDRESS: 8212e020 -- (!locks 8212e020) Resource @ nt!PiEngineLock (0x8212e020) Exclusively owned Contention Count = 4 Threads: 8319b020-01<*> 1 total locks, 1 locks currently held PNP_TRIAGE: Lock address : 0x8212e020 Thread Count : 1 Thread address: 0x8319b020 Thread wait : 0x3144 LAST_CONTROL_TRANSFER: from 820d873f to 82081760 STACK_TEXT: 861e7184 820d873f 00000003 861eca94 00000000 nt! RtlpBreakWithStatusInstruction 861e71d4 820d91ac 00000003 00000016 820c9bdd nt!KiBugCheckDebugBreak +0x1c 861e7584 8208fc44 0000000a 00000016 0000001b nt!KeBugCheck2+0x5f4 861e7584 820c9bdd 0000000a 00000016 0000001b nt!KiTrap0E+0x2ac 861e7638 820ad8bf 00000000 8385d158 8385d0e8 nt!KiSignalTimer+0x53 861e765c 820ad7ec 8385d158 00000000 00000000 nt!KeSetTimerEx+0xc8 861e7678 8525403e 8385d158 00000000 00000000 nt!KeSetTimer+0x1b 861e7694 85323e24 8385d158 00000000 82028338 ndis!NdisSetTimer+0x39 861e7930 8532b6aa 8386adf8 8385d0e8 9663d7f0 ndis! ndisMInitializeAdapter+0x87e 861e7968 8532b525 8386adf8 8385d030 967e1d38 ndis!ndisInitializeAdapter +0x109 861e7990 85326edc 8385d030 00000000 84a54818 ndis!ndisPnPStartDevice +0xf3 861e79e0 82027ecf 8385d030 84a54760 861e7a5c ndis!ndisPnPDispatch +0x697 861e79f8 821b07ef 00000000 94fc0a80 836bd400 nt!IofCallDriver+0x63 861e7a14 82007941 861e7a38 8200777b 836bd400 nt!PnpAsynchronousCall +0x96 861e7a60 821b9717 8200777b 836bd400 94fc07c8 nt!PnpStartDevice+0xb7 861e7abc 821b907c 836bd400 0000000d 00000000 nt!PnpStartDeviceNode +0x13a 861e7ad8 821b689a 00000000 00000000 94fc07c8 nt! PipProcessStartPhase1+0x65 861e7cd4 821b5e6d 94fc07c8 83798578 861e7d00 nt!PipProcessDevNodeTree +0x18d 861e7d08 8200724f 820fde3c 8319b020 8212d260 nt!PiRestartDevice+0x8a 861e7d44 82078e18 00000000 00000000 8319b020 nt!PnpDeviceActionWorker +0x1ae 861e7d7c 822254a8 00000000 861ec680 00000000 nt!ExpWorkerThread+0xfd 861e7dc0 8209145e 82078d1b 00000001 00000000 nt!PspSystemThreadStartup +0x9d 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16 STACK_COMMAND: kb FOLLOWUP_IP: ndis!NdisSetTimer+39 8525403e eb09 jmp ndis!NdisSetTimer+0x44 (85254049) SYMBOL_STACK_INDEX: 7 SYMBOL_NAME: ndis!NdisSetTimer+39 FOLLOWUP_NAME: MachineOwner MODULE_NAME: ndis IMAGE_NAME: ndis.sys DEBUG_FLR_IMAGE_TIMESTAMP: 4549b2fd FAILURE_BUCKET_ID: 0xA_ndis!NdisSetTimer+39 BUCKET_ID: 0xA_ndis!NdisSetTimer+39 Followup: MachineOwner ---------
From: Stephan Wolf [MVP] on 16 Feb 2007 06:05 Seems like NDIS is trying to set some timer but is using some NULL pointer. Not sure why NDIS does this or why it uses a NULL pointer. Stephan -- On Feb 16, 10:57 am, rookie...(a)gmail.com wrote: > Hi, > > I am writing a x86 ndis 6.0 miniport driver. I install the driver on > x86 vista from device manager. When installing, > Miniportinitializeex is called. Before returning status from > miniportinitializeex, I log a line with status. > In WinDbg, I see this log line and then a bug check > (IRQL_NOT_LESS_OR_EQUAL in ndis.sys). > > Has anybody seen this? What could be the problem? > > Thanks.
From: rookieroo on 16 Feb 2007 06:30 I am a newbie in driver development...How did you figure this? How do I proceed from here? Thanks. On Feb 16, 4:05 pm, "Stephan Wolf [MVP]" <stew...(a)hotmail.com> wrote: > Seems like NDIS is trying to set some timer but is using some NULL > pointer. Not sure why NDIS does this or why it uses a NULL pointer. > > Stephan > -- > On Feb 16, 10:57 am, rookie...(a)gmail.com wrote: > > > Hi, > > > I am writing a x86 ndis 6.0 miniport driver. I install the driver on > > x86 vista from device manager. When installing, > > Miniportinitializeex is called. Before returning status from > > miniportinitializeex, I log a line with status. > > In WinDbg, I see this log line and then a bug check > > (IRQL_NOT_LESS_OR_EQUAL in ndis.sys). > > > Has anybody seen this? What could be the problem? > > > Thanks.
From: rookieroo on 16 Feb 2007 08:57 I am not creating these timers. What can be the possible reason ndis wants to create timers? On Feb 16, 4:30 pm, rookie...(a)gmail.com wrote: > I am a newbie in driver development...How did you figure this? How do > I proceed from > here? > > Thanks. > > On Feb 16, 4:05 pm, "Stephan Wolf [MVP]" <stew...(a)hotmail.com> wrote: > > > Seems like NDIS is trying to set some timer but is using some NULL > > pointer. Not sure why NDIS does this or why it uses a NULL pointer. > > > Stephan > > -- > > On Feb 16, 10:57 am, rookie...(a)gmail.com wrote: > > > > Hi, > > > > I am writing a x86 ndis 6.0 miniport driver. I install the driver on > > > x86 vista from device manager. When installing, > > > Miniportinitializeex is called. Before returning status from > > > miniportinitializeex, I log a line with status. > > > In WinDbg, I see this log line and then a bug check > > > (IRQL_NOT_LESS_OR_EQUAL in ndis.sys). > > > > Has anybody seen this? What could be the problem? > > > > Thanks.
From: Alireza Dabagh [MS] on 17 Feb 2007 04:54 Looks like at this point we have returned back from MiniportInitializeEx successfully which means this is most likely the deadman timer NDIS is trying to set up for the miniport. Make sure you call NdisMSetMiniportAttributes before you return from your MiniportInitializeEx otherwise NDIS would try to set a timer that has not been initialized. (and even if we don't bugcheck here, we will definitely bugcheck later). -ali -- This posting is provided "AS IS" with no warranties, and confers no rights. <rookieroo(a)gmail.com> wrote in message news:1171634238.164989.97370(a)q2g2000cwa.googlegroups.com... > > I am not creating these timers. What can be the possible reason ndis > wants to create timers? > > On Feb 16, 4:30 pm, rookie...(a)gmail.com wrote: >> I am a newbie in driver development...How did you figure this? How do >> I proceed from >> here? >> >> Thanks. >> >> On Feb 16, 4:05 pm, "Stephan Wolf [MVP]" <stew...(a)hotmail.com> wrote: >> >> > Seems like NDIS is trying to set some timer but is using some NULL >> > pointer. Not sure why NDIS does this or why it uses a NULL pointer. >> >> > Stephan >> > -- >> > On Feb 16, 10:57 am, rookie...(a)gmail.com wrote: >> >> > > Hi, >> >> > > I am writing a x86 ndis 6.0 miniport driver. I install the driver on >> > > x86 vista from device manager. When installing, >> > > Miniportinitializeex is called. Before returning status from >> > > miniportinitializeex, I log a line with status. >> > > In WinDbg, I see this log line and then a bug check >> > > (IRQL_NOT_LESS_OR_EQUAL in ndis.sys). >> >> > > Has anybody seen this? What could be the problem? >> >> > > Thanks. > >
|
Next
|
Last
Pages: 1 2 Prev: Quiet Install Using DPinst under XP Next: WDF EvtIoStop, are interrupts hooked when this callback is cal |