developing wfp driver to block websites using there ip addresses and catching ip addresses using dns packets matching each domain name of dns packet while they arrive in classify function and parse dns packets and match against targeted domain names if they match then retriving ip adress from them and save them in globle array if got any packets has same ip as stored ip address then block packet but driver is crashing after some time of execution
and this error is showing in windbg:- User
RECURSIVE_NMI (111)
DESCRIPTION
A recursive NMI has occurred.
Arguments:
Arg1: 0000000000000001
Arg2: ffff9b0052536e70
Arg3: fffff80321c0a654
Arg4: ffff9b0052536e70
Is this occurring on only one test machine? In virtually every case, NMI is caused by a hardware problem in a peripheral. The fact that it originated in DWM (âdesktop window managerâ) suggests that it may be your graphics card.
You didnât answer my question. Do you see this on more than one machine? If you have memory management problems, you could be writing in a region of memory that maps to the graphics card, causing the graphics hardware to puke.
And, of course, there are better and far less intrusive methods of blocking web sites. Thatâs what proxies are for, and those involve no dangerous kernel coding at all.
I have the same problem, and am also using WFP in my driver. It is very annoying, it seems to happen semi-randomly, and the Debugger output is not very helpful.
The fact that it originated in DWM (âdesktop window managerâ) suggests that it may be your graphics card.
I think the PROCESS_NAME value is more-or-less random. I am plagued by this for some time now, and have seen msedge.exe or also just System.
I am running VirtualBox with two VMs (Debugger and Debuggee) on a linux host.
In virtually every case, NMI is caused by a hardware problem in a peripheral.
It indeed seems to be the case that sometimes it happens even before I have loaded the driver at all - but less frequent (I believe). So it might be a Bug in VirtualBox? However, when no Debugger is running, the VM runs completely fine. I wish I could make the Debugger just ignore this somehow⌠Using âgâ afterwards does not resume the VM, sadly.
Here is the entire output of kd in a case where I havenât even loaded my driver yet: https://sprunge.us/orDfXG
Problem get solved just eliminating all kdprint from code
Thank you for the suggestion.
I have disabled all DbgPrint statements in my code, and it indeed seems to help. I will try to see if I can pinpoint which DbgPrint statement(s) are problematic.
Is there any rationale for how kdprint / DbgPrint could lead to this NMI Interrupt? Could e.g. a non-terminated string cause this? Or a wrong format specifier?