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

Assert in tcpip!TCPSendDataCallback reactos\sdk\lib\drivers\ip\transport\tcp\if.c @ 52 when downloading file via uTorrent (72707)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 0.4.5
    • Networking
    • None

    Description

      Hello,

      I've been testing today network performance and noticed this assert when running uTorrent downloading just one file:

      BugCheck 7E, {c0000420, f780a9b9, f77f9ab4, f77f9748}
       
      Probably caused by : tcpip.sys ( tcpip!TCPSendDataCallback+e9 )
       
      Followup: MachineOwner
      ---------
       
      nt!RtlpBreakWithStatusInstruction:
      8051f978 cc              int     3
      kd> !analyze -v
      *******************************************************************************
      *                                                                             *
      *                        Bugcheck Analysis                                    *
      *                                                                             *
      *******************************************************************************
       
      SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
      This is a very common bugcheck.  Usually the exception address pinpoints
      the driver/function that caused the problem.  Always note this address
      as well as the link date of the driver/image that contains this address.
      Arguments:
      Arg1: c0000420, The exception code that was not handled
      Arg2: f780a9b9, The address that the exception occurred at
      Arg3: f77f9ab4, Exception Record Address
      Arg4: f77f9748, Context Record Address
       
      Debugging Details:
      ------------------
       
       
      EXCEPTION_CODE: (NTSTATUS) 0xc0000420 - An assertion failure has occurred.
       
      FAULTING_IP: 
      tcpip!TCPSendDataCallback+e9 [c:\users\volodymyr\reactos\sdk\lib\drivers\ip\transport\tcp\if.c @ 52]
      f780a9b9 cd2c            int     2Ch
       
      EXCEPTION_RECORD:  f77f9ab4 -- (.exr 0xfffffffff77f9ab4)
      ExceptionAddress: f780a9b9 (tcpip!TCPSendDataCallback+0x000000e9)
         ExceptionCode: c0000420 (Assertion failure)
        ExceptionFlags: 00000000
      NumberParameters: 0
      Assertion c:\users\volodymyr\reactos\sdk\lib\drivers\ip\transport\tcp\if.c(52): p->tot_len == p->len
       
      CONTEXT:  f77f9748 -- (.cxr 0xfffffffff77f9748)
      eax=00000189 ebx=00009000 ecx=000005dc edx=b210be10 esi=00001850 edi=00000000
      eip=f780a9b9 esp=f77f9bc4 ebp=f77f9c50 iopl=0         nv up ei pl nz na po nc
      cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00000202
      tcpip!TCPSendDataCallback+0xe9:
      f780a9b9 cd2c            int     2Ch
      Resetting default scope
       
      DEFAULT_BUCKET_ID:  INTEL_CPU_MICROCODE_ZERO
       
      BUGCHECK_STR:  0x7E
       
      PROCESS_NAME:  System
       
      CURRENT_IRQL:  0
       
      ERROR_CODE: (NTSTATUS) 0xc0000420 - An assertion failure has occurred.
       
      LAST_CONTROL_TRANSFER:  from f781a19d to f780a9b9
       
      STACK_TEXT:  
      f77f9c50 f781a19d b260b6d8 b210be10 b238800c tcpip!TCPSendDataCallback+0xe9 [c:\users\volodymyr\reactos\sdk\lib\drivers\ip\transport\tcp\if.c @ 52]
      f77f9c74 f7819f55 b210be10 b2388008 b238800c tcpip!ip_output_if+0x22d [c:\users\volodymyr\reactos\sdk\lib\drivers\lwip\src\core\ipv4\ip.c @ 797]
      f77f9c9c f781aeba b210be10 b2388008 b238800c tcpip!ip_output+0x55 [c:\users\volodymyr\reactos\sdk\lib\drivers\lwip\src\core\ipv4\ip.c @ 834]
      f77f9ccc f781a9ea b21c5978 b2388008 8001003b tcpip!tcp_output_segment+0x20a [c:\users\volodymyr\reactos\sdk\lib\drivers\lwip\src\core\tcp_out.c @ 1169]
      f77f9d04 f781d6c0 b2388008 00000000 00000000 tcpip!tcp_output+0x1fa [c:\users\volodymyr\reactos\sdk\lib\drivers\lwip\src\core\tcp_out.c @ 993]
      f77f9d34 f7819eaf b237e150 b260b6d8 f782c406 tcpip!tcp_input+0x780 [c:\users\volodymyr\reactos\sdk\lib\drivers\lwip\src\core\tcp_in.c @ 383]
      f77f9d60 f781516d b237e150 b260b6d8 00000000 tcpip!ip_input+0x23f [c:\users\volodymyr\reactos\sdk\lib\drivers\lwip\src\core\ipv4\ip.c @ 574]
      f77f9d78 f7818753 00000000 b25c56b8 f77f9d90 tcpip!tcpip_thread+0x6d [c:\users\volodymyr\reactos\sdk\lib\drivers\lwip\src\api\tcpip.c @ 108]
      f77f9d8c 804e8ef4 b25c56b8 00000000 8001003b tcpip!LwipThreadMain+0x33 [c:\users\volodymyr\reactos\sdk\lib\drivers\lwip\src\sys_arch.c @ 268]
      f77f9dc0 80502132 f7818720 b25c56b8 f77f9df0 nt!PspSystemThreadStartup+0x64 [c:\users\volodymyr\reactos\ntoskrnl\ps\thread.c @ 158]
      f77f9ddc 804e8e8f f7818720 b25c56b8 00000000 nt!KiThreadStartup+0x42 [c:\users\volodymyr\reactos\ntoskrnl\ke\i386\thrdini.c @ 81]
      f77f9de0 f781871f b25c56b8 00000000 0000027f nt!PspCreateThread+0xa5f
      f77f9de4 b25c56b8 00000000 0000027f 00000000 tcpip!malloc+0x1f
      WARNING: Frame IP not in any known module. Following frames may be wrong.
      f7818720 08ec83ec 8908458b 3068f845 8bf782c4 0xb25c56b8
      f7818724 8908458b 3068f845 8bf782c4 c283f855 0x8ec83ec
      f7818728 3068f845 8bf782c4 c283f855 c428b90c 0x8908458b
      f781872c 8bf782c4 c283f855 c428b90c 15fff782 0x3068f845
      f7818730 c283f855 c428b90c 15fff782 f7820134 0x8bf782c4
      f7818734 c428b90c 15fff782 f7820134 8bf84d8b 0xc283f855
      f7818738 15fff782 f7820134 8bf84d8b 8b520851 0xc428b90c
      f781873c f7820134 8bf84d8b 8b520851 488bf845 0x15fff782
      f7818740 8bf84d8b 8b520851 488bf845 83d1ff04 tcpip!_imp_ExfInterlockedInsertHeadList
      f7820134 805163cf 80516490 80516510 805165f0 0x8bf84d8b
      f7820138 8051648f 80516510 805165f0 80516c70 nt!RtlRaiseStatus+0x85
      f782013c 8051650f 805165f0 80516c70 80516dd0 nt!RtlAreBitsSet+0x5f
      f7820140 805165ef 80516c70 80516dd0 80516d90 nt!RtlClearBit+0x3f
      f7820144 80516c6f 80516dd0 80516d90 80488b30 nt!RtlClearBits+0xdf
      f7820148 80516dcf 80516d90 80488b30 8047f840 nt!RtlFindSetBitsAndClear+0x3f
      f782014c 80516d8f 80488b30 8047f840 804843a0 nt!RtlSetBit+0x3f
      f7820150 80488b2f 8047f840 804843a0 804e7dd0 nt!RtlSetAllBits+0x3f
      f7820154 8047f83f 804843a0 804e7dd0 804dd050 nt!KeIsWaitListEmpty+0x2f
      f7820158 8048439f 804e7dd0 804dd050 8052ca50 nt!KxUnwaitThreadForEvent+0xbf
      f782015c 804e7dcf 804dd050 8052ca50 8052cb00 nt!Kii386SpinOnSpinLock+0x2f
      f7820160 804dd04f 8052ca50 8052cb00 8052d290 nt!NtOpenThread+0x33f
      f7820164 8052ca50 8052cb00 8052d290 8051e1d0 nt!PsTerminateProcess+0x1f
      f7820168 8052cb00 8052d290 8051e1d0 8047faa0 nt!_alldiv
      f782016c 8052d290 8051e1d0 8047faa0 80518700 nt!_allmul
      f7820170 8051e1cf 8047faa0 80518700 804893d0 nt!_aulldiv
      f7820174 8047fa9f 80518700 804893d0 8047fb60 nt!RtlGetCallersAddress+0x8f
      f7820178 805186ff 804893d0 8047fb60 8047f8a0 nt!KeReadStateEvent+0x5f
      f782017c 804893cf 8047fb60 8047f8a0 8052ce10 nt!RtlFreeOemString+0x3f
      f7820180 8047fb5f 8047f8a0 8052ce10 8052ca00 nt!KeWaitForMultipleObjects+0x89f
      f7820184 8047f89f 8052ce10 8052ca00 8052c950 nt!KeResetEvent+0xbf
      f7820188 8052ce0f 8052ca00 8052c950 804660e0 nt!KeClearEvent+0x5f
      f782018c 8052c9ff 8052c950 804660e0 805952c0 nt!_stricmp+0x7f
      f7820190 8052c94f 804660e0 805952c0 00000000 nt!memmove+0xaf
      f7820194 804660df 805952c0 00000000 00000000 nt!RtlInitializeSListHead+0x1f
      f7820198 805952c0 00000000 00000000 00000000 nt!IopTimerDispatch+0x9f
      f782019c 00000000 00000000 00000000 00000000 nt!IoFileObjectType
       
       
      FOLLOWUP_IP: 
      tcpip!TCPSendDataCallback+e9 [c:\users\volodymyr\reactos\sdk\lib\drivers\ip\transport\tcp\if.c @ 52]
      f780a9b9 cd2c            int     2Ch
       
      FAULTING_SOURCE_CODE:  
          48: 
          49:     GetDataPtr(Packet.NdisPacket, 0, (PCHAR*)&Packet.Header, &Packet.TotalSize);
          50:     Packet.MappedHeader = TRUE;
          51: 
      >   52:     ASSERT(p->tot_len == p->len);
          53:     ASSERT(Packet.TotalSize == p->len);
          54: 
          55:     RtlCopyMemory(Packet.Header, p->payload, p->len);
          56: 
          57:     Packet.HeaderSize = sizeof(IPv4_HEADER);
       
       
      SYMBOL_STACK_INDEX:  0
       
      SYMBOL_NAME:  tcpip!TCPSendDataCallback+e9
       
      FOLLOWUP_NAME:  MachineOwner
       
      MODULE_NAME: tcpip
       
      IMAGE_NAME:  tcpip.sys
       
      DEBUG_FLR_IMAGE_TIMESTAMP:  57dc4fb3
       
      STACK_COMMAND:  .cxr 0xfffffffff77f9748 ; kb
       
      FAILURE_BUCKET_ID:  0x7E_tcpip!TCPSendDataCallback+e9
       
      BUCKET_ID:  0x7E_tcpip!TCPSendDataCallback+e9
       
      Followup: MachineOwner
      ---------

      It looks like an assert on

      52:     ASSERT(p->tot_len == p->len);

      It is too early to tell yet the root-case of this problem, I will try to replicate.

      Attachments

        Issue Links

          Activity

            People

              ThFabba ThFabba
              vshcherbyna vshcherbyna
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: