Details
-
Bug
-
Resolution: Fixed
-
Major
Description
r56748 disables an ASSERT in KeWaitForMultipleObjects due to brokenness in tcpip.sys, as I do not currently see an easy solution to this problem.
The driver acquires at least one spinlock (and thus runs at DISPATCH_LEVEL) and then calls KeWaitForMultipleObjects without a timeout.
Backtrace follows. See http://build.reactos.org:8010/builders/Windows_AMD64_1%20VBox-Test/builds/5928/steps/test/logs/stdio for the complete log.
Assertion 'KeGetCurrentIrql() < DISPATCH_LEVEL || (KeGetCurrentIrql() == DISPATCH_LEVEL && Timeout && Timeout->QuadPart == 0)' failed at ..\..\ntoskrnl\ke\wait.c line 592
Entered debugger on embedded INT3 at 0x0008:0x8091bd5a.
kdb:> bt
Eip:
<NTOSKRNL.EXE:11bd5b (lib\rtl\i386\debug_asm.S:35 (_DbgBreakPoint@0))>
Frames:
<NTOSKRNL.EXE:8a282 (ntoskrnl/ke/wait.c:590 (KeWaitForMultipleObjects@32))>
<tcpip.sys:17b52 (lib/drivers/lwip/src/rostcp.c:163 (WaitForEventSafely))>
<tcpip.sys:17df5 (lib/drivers/lwip/src/rostcp.c:302 (LibTCPSocket))>
<tcpip.sys:11a19 (lib/drivers/ip/transport/tcp/tcp.c:137 (TCPSocket))>
<tcpip.sys:7d9c (drivers/network/tcpip/tcpip/fileobjs.c:471 (FileOpenConnection))>
<tcpip.sys:aba4 (drivers/network/tcpip/tcpip/main.c:238 (TiCreateFileObject))>
<tcpip.sys:acc4 (drivers/network/tcpip/tcpip/main.c:344 (TiDispatchOpenClose@8))>
<NTOSKRNL.EXE:6a8e8 (ntoskrnl/io/iomgr/irp.c:1169 (@IofCallDriver@8))>
<NTOSKRNL.EXE:61cb7 (ntoskrnl/io/iomgr/file.c:711 (IopParseDevice@40))>
<NTOSKRNL.EXE:dcb52 (ntoskrnl/ob/obname.c:777 (ObpLookupObjectName@44))>
<NTOSKRNL.EXE:d6829 (ntoskrnl/ob/obhandle.c:2495 (ObOpenObjectByName@28))>
<NTOSKRNL.EXE:5fcb1 (ntoskrnl/io/iomgr/file.c:1854 (IoCreateFile@56))>
<NTOSKRNL.EXE:602fc (ntoskrnl/io/iomgr/file.c:2554 (NtCreateFile@44))>
<NTOSKRNL.EXE:10772b (ntoskrnl/ke/i386/traphdlr.c:1624 (@KiSystemServiceHandler@8))>
<NTOSKRNL.EXE:1050c7 (ntoskrnl\ke\i386\trap.s:142 (_KiSystemService))>
<NTOSKRNL.EXE:425bc (ntoskrnl\include/sysfuncs.h:0 (_ZwCreateFile@44))>
<afd.sys:ce97 (drivers/network/afd/afd/tdi.c:300 (TdiOpenConnectionEndpointFile))>
<afd.sys:2123 (drivers/network/afd/afd/connect.c:221 (WarmSocketForConnection))>
<afd.sys:3971 (drivers/network/afd/afd/listen.c:234 (AfdListenSocket))>
<afd.sys:6a7b (drivers/network/afd/afd/main.c:861 (AfdDispatch@8))>
<NTOSKRNL.EXE:6a8e8 (ntoskrnl/io/iomgr/irp.c:1169 (@IofCallDriver@8))>
<NTOSKRNL.EXE:633a7 (ntoskrnl/io/iomgr/iofunc.c:135 (IopPerformSynchronousRequest@28))>
<NTOSKRNL.EXE:678e1 (ntoskrnl/io/iomgr/iofunc.c:504 (IopDeviceFsIoControl@44))>
<NTOSKRNL.EXE:679b4 (ntoskrnl/io/iomgr/iofunc.c:908 (NtDeviceIoControlFile@40))>
<NTOSKRNL.EXE:10750f (ntoskrnl/ke/i386/traphdlr.c:1624 (@KiFastCallEntryHandler@8))>
<NTOSKRNL.EXE:105135 (ntoskrnl\ke\i386\trap.s:150 (_KiFastCallEntry))>