[Winpcap-bugs] WinPcap 4.1.1 - BSOD
Gianluca Varenni
gianluca.varenni at cacetech.com
Thu Nov 12 12:22:33 PST 2009
I analyzed the stack trace that you sent below, and it's definitely a NULL pointer dereference, that should not happen (in the sense that such pointer should not be null, it comes from the OS itself). In order to further investigate the problem, however, I need to have a kernel memory dump, so that I can get a look at the variables on the stack...
Have a nice day
GV
----- Original Message -----
From: Boaz Brickner
To: winpcap-bugs at winpcap.org
Sent: Thursday, November 12, 2009 11:03 AM
Subject: [Winpcap-bugs] WinPcap 4.1.1 - BSOD
Hi,
I'm working on a new wrapper for WinPcap in .Net call Pcap.Net.
I've recently tried to upgrade Pcap.Net project (http://pcapdotnet.codeplex.com) to WinPcap 4.1.1 to support Windows 7 (I've used WinPcap 4.0.2 before).
When I run my different unit tests that use all kinds of WinPcap's features while using my network drive, I'm getting a Blue Screen Of Death (BSOD) - Windows Crash.
I've managed to get BSOD both on Windows 7 Professional 64 bit and on Windows XP SP3 32 bit (two different computer systems).
Before I've upgraded to WinPcap 4.1.1 I've never got a BSOD (Windows XP SP3).
It seems this BSOD is caused by WinPcap's npf driver.
At first I thought this problem is caused by Windows 7 or a combination of Windows 7 and WinPcap.
After I've seen that this problem also appears on my Windows XP that never experienced this problem before, I believe this is not the case and it is caused by WinPcap 4.1.1 alone.
Since a full reboot is needed after the BSOD appears, I'm having a hard time figuring out what exactly causes this problem.
If you want to try and recreate this problem you are welcome to use WinPcap 4.1.1 and download the latest source from Pcap.Net project site (changeset 30721):
http://pcapdotnet.codeplex.com/SourceControl/ListDownloadableCommits.aspx
If you're having troubles compiling and running the unit tests using Visual Studio Team Suite 2008 SP1, you are welcome to contact me and I'll try to help you with it. Sometimes more than one run of all the unit tests may be needed to cause the crash and you might need to do use your network drive (by downloading a file for example) to make the BSOD appear.
Also see my post on Windows 7 forums:
http://www.sevenforums.com/crashes-debugging/37276-bsod-windows-7-professional-64-bit.html
Details from Windows 7 mini dump (note that npf.sys is specifically referenced):
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: 0000000000003178, memory referenced
Arg2: 0000000000000002, IRQL
Arg3: 0000000000000001, bitfield :
bit 0 : value 0 = read operation, 1 = write operation
bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)
Arg4: fffff80003eccb75, address which referenced memory
Debugging Details:
------------------
WRITE_ADDRESS: GetPointerFromAddress: unable to read from fffff800040fa0e0
0000000000003178
CURRENT_IRQL: 2
FAULTING_IP:
nt!KeAcquireSpinLockRaiseToDpc+55
fffff800`03eccb75 f0480fba2900 lock bts qword ptr [rcx],0
CUSTOMER_CRASH_COUNT: 1
DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT
BUGCHECK_STR: 0xA
PROCESS_NAME: VSTestHost.exe
TRAP_FRAME: fffff8800909b7b0 -- (.trap 0xfffff8800909b7b0)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=0000000000000002 rbx=0000000000000000 rcx=0000000000003178
rdx=0000000000000085 rsi=0000000000000000 rdi=0000000000000000
rip=fffff80003eccb75 rsp=fffff8800909b940 rbp=0000000000003178
r8=0000000000000065 r9=0000000000000000 r10=0000000000000000
r11=fffff8800909b980 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0 nv up ei pl nz na po nc
nt!KeAcquireSpinLockRaiseToDpc+0x55:
fffff800`03eccb75 f0480fba2900 lock bts qword ptr [rcx],0 ds:00000000`00003178=????????????????
Resetting default scope
LAST_CONTROL_TRANSFER: from fffff80003ec3469 to fffff80003ec3f00
STACK_TEXT:
fffff880`0909b668 fffff800`03ec3469 : 00000000`0000000a 00000000`00003178 00000000`00000002 00000000`00000001 : nt!KeBugCheckEx
fffff880`0909b670 fffff800`03ec20e0 : 00000000`00000000 00000000`00000000 00000000`00000000 fffff800`03eca1a2 : nt!KiBugCheckDispatch+0x69
fffff880`0909b7b0 fffff800`03eccb75 : fffffa80`03e5c3f0 00000000`08004870 00000000`00000001 fffffa80`06a57900 : nt!KiPageFault+0x260
fffff880`0909b940 fffff880`05c02ef5 : fffffa80`0677d990 00000000`00000000 fffffa80`0677d8c0 00000000`00000000 : nt!KeAcquireSpinLockRaiseToDpc+0x55
fffff880`0909b990 fffffa80`0677d990 : 00000000`00000000 fffffa80`0677d8c0 00000000`00000000 fffffa80`0677d8c0 : npf+0x2ef5
fffff880`0909b998 00000000`00000000 : fffffa80`0677d8c0 00000000`00000000 fffffa80`0677d8c0 fffff880`05c03edf : 0xfffffa80`0677d990
STACK_COMMAND: kb
FOLLOWUP_IP:
npf+2ef5
fffff880`05c02ef5 ?? ???
SYMBOL_STACK_INDEX: 4
SYMBOL_NAME: npf+2ef5
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: npf
IMAGE_NAME: npf.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 4addfab3
FAILURE_BUCKET_ID: X64_0xA_npf+2ef5
------------------------------------------------------------------------------
_______________________________________________
Winpcap-bugs mailing list
Winpcap-bugs at winpcap.org
https://www.winpcap.org/mailman/listinfo/winpcap-bugs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.winpcap.org/pipermail/winpcap-bugs/attachments/20091112/0212d2b7/attachment-0001.htm
More information about the Winpcap-bugs
mailing list