Hello all,
I’ve really appreciated searching through this list and gleaning some
knowledge off of your previous answers. I hope someone may be able to
give me a new approach to my current problem.
I’m writing a minifilter driver for file systems. Everything has been
working fine, but a bugcheck will occur sometimes with
IRQL_NOT_LESS_OR_EQUAL. Now, it appears that during some of my
ExFreePoolWithTag calls (or a bit later during what seems to be a
deferred free), the pointers will be less than 0x0000FFFF. I find this
to be very strange and I do not know where this might originate, because
I check for allocation failures after each of my allocate calls.
The Driver Verifier is turned on, and I can see the calls for the
special pool (VerifierFreePoolWithTag). The bugchecks seem to have no
link to heavy or light usage, but will always occur if I wait long
enough. They sometimes occur as soon as the driver starts (during
Instance setup). There does not seem to be a pattern as to where the
bugchecks occur.
I’ve attached two of the !analyze outputs below. If anyone can suggest
a good direction for investigation, I would greatly appreciate it.
Thanks for your time,
Justin
– I apologize for the lack of my own driver symbols. I recompiled and
lost the ability to load symbols for these dumps.
Justin M. Walker, CDIA+, ECMp
<xxxxx><br>Performance Testing Engineer<br>Hyland Software <http:><br>Office: 440.788.5461<br>Fax: 440.788.5561<br><br>Driver is called Windtalk<br><br>kd> !analyze -v<br> ************************************************************************<br>******* <br>*<br>*<br>* Bugcheck Analysis<br>*<br>*<br>*<br> ************************************************************************<br>******* <br><br>IRQL_NOT_LESS_OR_EQUAL (a)<br>An attempt was made to access a pageable (or completely invalid) address<br>at an<br>interrupt request level (IRQL) that is too high. This is usually<br>caused by drivers using improper addresses.<br>If a kernel debugger is available get the stack backtrace.<br>Arguments:<br>Arg1: 0000b130, memory referenced<br>Arg2: 00000002, IRQL<br>Arg3: 00000000, value 0 = read operation, 1 = write operation<br>Arg4: 80548e03, address which referenced memory<br><br>Debugging Details:<br>------------------<br><br>READ_ADDRESS: 0000b130 <br><br>CURRENT_IRQL: 2<br><br>FAULTING_IP: <br>nt!ExpCheckForResource+4f<br>80548e03 8b36 mov esi,[esi]<br><br>DEFAULT_BUCKET_ID: DRIVER_FAULT<br><br>BUGCHECK_STR: 0xA<br><br>LAST_CONTROL_TRANSFER: from 80548e03 to 804e0aac<br><br>STACK_TEXT: <br>b9a82a2c 80548e03 badb0d00 00000000 00000021 nt!KiTrap0E+0x238<br>b9a82ab0 8067efdd 00378fc0 00000040 818d4f38 nt!ExpCheckForResource+0x4f<br>b9a82ac8 806731fb 83378fc0 b9a82b50 b98004b1<br>nt!ExFreePoolSanityChecks+0x4d<br>b9a82ad4 b98004b1 83378fc0 4f424550 81ed4550<br>nt!VerifierFreePoolWithTag+0x1c<br>b9a82b50 ba6f803d 00000000 00326cc0 0000000c WindTalk+0x34b1<br>b9a82b7c ba7029ac 81d36540 00326cc0 0000000c<br>fltMgr!FltpFilterMessage+0x45<br>b9a82ba4 ba6f69e7 81d36540 832d8f00 00326cc0<br>fltMgr!FltpMsgDeviceControl+0x7a<br>b9a82be8 ba6f6f3d 8229c3e8 832d8f68 8229c3e8 fltMgr!FltpMsgDispatch+0x87<br>b9a82c1c 804e13d9 8229c3e8 832d8f68 806ff428 fltMgr!FltpDispatch+0x35<br>b9a82c2c 80672145 81cdb808 806ff410 832d8f68 nt!IopfCallDriver+0x31<br>b9a82c50 8056f50b 832d8fd8 81d36540 832d8f68 nt!IovCallDriver+0xa0<br>b9a82c64 80580fb1 8229c3e8 832d8f68 81d36540<br>nt!IopSynchronousServiceTail+0x60<br>b9a82d00 8058709e 0000004c 00000000 00000000 nt!IopXxxControlFile+0x5ef<br>b9a82d34 804dd99f 0000004c 00000000 00000000<br>nt!NtDeviceIoControlFile+0x2a<br>b9a82d34 7c90eb94 0000004c 00000000 00000000 nt!KiFastCallEntry+0xfc<br>0012f748 00000000 00000000 00000000 00000000 0x7c90eb94<br><br>STACK_COMMAND: kb<br><br>FOLLOWUP_IP: <br>WindTalk+34b1<br>b98004b1 0fb74ddc movzx ecx,word ptr [ebp-0x24]<br><br>FAULTING_SOURCE_CODE: <br><br>SYMBOL_STACK_INDEX: 4<br><br>FOLLOWUP_NAME: MachineOwner<br><br>SYMBOL_NAME: WindTalk+34b1<br><br>MODULE_NAME: WindTalk<br><br>IMAGE_NAME: WindTalk.sys<br><br>DEBUG_FLR_IMAGE_TIMESTAMP: 44dce93d<br><br>FAILURE_BUCKET_ID: 0xA_VRF_WindTalk+34b1<br><br>BUCKET_ID: 0xA_VRF_WindTalk+34b1<br><br>Followup: MachineOwner<br><br>========================================================================<br>=======<br><br>kd> !analyze -v<br> ************************************************************************<br>******* <br>*<br>*<br>* Bugcheck Analysis<br>*<br>*<br>*<br> ************************************************************************<br>******* <br><br>IRQL_NOT_LESS_OR_EQUAL (a)<br>An attempt was made to access a pageable (or completely invalid) address<br>at an<br>interrupt request level (IRQL) that is too high. This is usually<br>caused by drivers using improper addresses.<br>If a kernel debugger is available get the stack backtrace.<br>Arguments:<br>Arg1: 000017f0, memory referenced<br>Arg2: 0000001c, IRQL<br>Arg3: 00000000, value 0 = read operation, 1 = write operation<br>Arg4: 805371f2, address which referenced memory<br><br>Debugging Details:<br>------------------<br><br>READ_ADDRESS: 000017f0 <br><br>CURRENT_IRQL: 1c<br><br>FAULTING_IP: <br>nt!KeCheckForTimer+35<br>805371f2 8b3f mov edi,[edi]<br><br>DEFAULT_BUCKET_ID: DRIVER_FAULT<br><br>BUGCHECK_STR: 0xA<br><br>LAST_CONTROL_TRANSFER: from 805371f2 to 804e0aac<br><br>STACK_TEXT: <br>f88ea6d8 805371f2 badb0d00 000017d8 804d95fa nt!KiTrap0E+0x238<br>f88ea758 8067efd6 00a4cf00 00000270 81809bf0 nt!KeCheckForTimer+0x35<br>f88ea770 806731fb 82a4cf00 f88eaa14 b977cb0a<br>nt!ExFreePoolSanityChecks+0x46<br>f88ea77c b977cb0a 82a4cf00 4f425653 b977cad2<br>nt!VerifierFreePoolWithTag+0x1c<br>f88eaa14 b9784709 f88eaa7c 804da3a4 81809bf0 WindTalk+0xb0a<br>f88eaa48 ba70c121 f88eaa7c 00000001 00000014 WindTalk+0x8709<br>f88eaa60 ba703ebb f88eaa7c 00000001 00000014<br>fltMgr!FltvInstanceSetup+0x1b<br>f88eaa94 ba704442 81962840 00000001 80550005<br>fltMgr!FltpDoInstanceSetupNotification+0x4b<br>f88eaaf4 ba7047cd 8220e1e8 81809bf0 00000001<br>fltMgr!FltpInitInstance+0x272<br>f88eab64 ba7048d8 8220e1e8 81809bf0 00000001<br>fltMgr!FltpCreateInstanceFromName+0x295<br>f88eabcc ba70b6af 8220e1e8 81809bf0 00000001<br>fltMgr!FltpEnumerateRegistryInstances+0xf4<br>f88eac18 ba70a703 8220e1e8 8196c680 e22d123a<br>fltMgr!FltpDoVolumeNotificationForNewFilter+0xbd<br>f88eac4c b97862bb 8220e1e8 00000001 00000000<br>fltMgr!FltStartFiltering+0x35<br>f88eac84 805a42e5 8196c680 8135f000 00000000 WindTalk+0xa2bb<br>f88ead54 805acb11 0000023c 00000001 00000000 nt!IopLoadDriver+0x66c<br>f88ead7c 804e23b5 0000023c 00000000 822cf020 nt!IopLoadUnloadDriver+0x45<br>f88eadac 80574128 b9f67cf4 00000000 00000000 nt!ExpWorkerThread+0xef<br>f88eaddc 804efc81 804e22f1 00000001 00000000<br>nt!PspSystemThreadStartup+0x34<br>00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16<br><br>STACK_COMMAND: kb<br><br>FOLLOWUP_IP: <br>WindTalk+b0a<br>b977cb0a c3 ret<br><br>FAULTING_SOURCE_CODE: <br><br>SYMBOL_STACK_INDEX: 4<br><br>FOLLOWUP_NAME: MachineOwner<br><br>SYMBOL_NAME: WindTalk+b0a<br><br>MODULE_NAME: WindTalk<br><br>IMAGE_NAME: WindTalk.sys<br><br>DEBUG_FLR_IMAGE_TIMESTAMP: 44e06b13<br><br>FAILURE_BUCKET_ID: 0xA_VRF_WindTalk+b0a<br><br>BUCKET_ID: 0xA_VRF_WindTalk+b0a<br><br>Followup: MachineOwner<br>---------<br><br>-----------------------------------------<br>CONFIDENTIALITY NOTICE: This message and any attached documents may<br>contain confidential information from Hyland Software, Inc. The<br>information is intended only for the use of the individual or<br>entity named above. If the reader of this message is not the<br>intended recipient, or an employee or agent responsible for the<br>delivery of this message to the intended recipient, the reader is<br>hereby notified that any dissemination, distribution or copying of<br>this message or of any attached documents, or the taking of any<br>action or omission to take any action in reliance on the contents<br>of this message or of any attached documents, is strictly<br>prohibited. If you have received this communication in error,<br>please notify the sender immediately by e-mail or telephone, at<br>(440) 788-5000, and delete the original message immediately. Thank<br>you.</http:></xxxxx>