Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-6473

tcpip waits with spinlock acquired

    XMLWordPrintable

Details

    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))>

      Attachments

        Activity

          People

            zefklop jgardou
            ThFabba ThFabba
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: