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

Assertion in KiSwapContextExit() with kerne32:winetest patch

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 0.4.2
    • NTCore
    • None

    Description

      With the kernel32:winetest sync patch ( CORE-11368 ) we're asserting in the kernel32:Thread tests.
      We're asserting at ASSERT(False) in KiSwapContextExit since LDT switch is not implemented.

      Assertion c:\reactos\ntoskrnl\ke\i386\thrdini.c(349): FALSE
      nt!KiSwapContextExit+0x99:
      804f1619 cd2c            int     2Ch
      WARNING: Process directory table base 29779000 doesn't match CR3 22F17000
      WARNING: Process directory table base 29779000 doesn't match CR3 22F17000
      kd> !analyze -v
      ERROR: FindPlugIns 800700a1
      *******************************************************************************
      *                                                                             *
      *                        Bugcheck Analysis                                    *
      *                                                                             *
      *******************************************************************************
       
      Unknown bugcheck code (0)
      Unknown bugcheck description
      Arguments:
      Arg1: 00000000
      Arg2: 00000000
      Arg3: 00000000
      Arg4: e2be46af
       
      Debugging Details:
      ------------------
       
       
      PROCESS_NAME:  csrss.exe
       
      FAULTING_IP: 
      nt!KiSwapContextExit+99 [c:\reactos\ntoskrnl\ke\i386\thrdini.c @ 349]
      804f1619 cd2c            int     2Ch
       
      EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
      ExceptionAddress: 804f1619 (nt!KiSwapContextExit+0x00000099)
         ExceptionCode: c0000420 (Assertion failure)
        ExceptionFlags: 00000000
      NumberParameters: 0
      Assertion c:\reactos\ntoskrnl\ke\i386\thrdini.c(349): FALSE
       
      ERROR_CODE: (NTSTATUS) 0xc0000420 - Error de aserci n.
       
      EXCEPTION_CODE: (NTSTATUS) 0xc0000420 - Error de aserci n.
       
      DEFAULT_BUCKET_ID:  DRIVER_FAULT
       
      BUGCHECK_STR:  0x0
       
      CURRENT_IRQL:  2
       
      LAST_CONTROL_TRANSFER:  from 804028e1 to 804f1619
       
      STACK_TEXT:  
      f7da0ac0 804028e1 f7da0cf4 b172e200 804028c3 nt!KiSwapContextExit+0x99 [c:\reactos\ntoskrnl\ke\i386\thrdini.c @ 349]
      f7da0b08 804827d7 00000001 f7da0b38 804811ea nt!KiSwitchThreads+0xb
      f7da0b78 f7eab675 00000004 f7da0c20 00000001 nt!KeWaitForMultipleObjects+0x687 [c:\reactos\ntoskrnl\ke\wait.c @ 842]
      f7da0c7c f7eaba74 00000000 f7da0d04 f7ed9a87 win32k!RawInputThreadMain+0x365 [c:\reactos\win32ss\user\ntuser\input.c @ 248]
      f7da0c88 f7ed9a87 00000000 f7da0d14 0071fff4 win32k!CreateSystemThreads+0x24 [c:\reactos\win32ss\user\ntuser\input.c @ 346]
      f7da0d04 804f408b 00000000 00000022 00000005 win32k!NtUserCallOneParam+0x547 [c:\reactos\win32ss\user\ntuser\simplecall.c @ 347]
      f7da0d1c 804f372f f7ed9540 0071ffec 00000008 nt!KiSystemCallTrampoline+0x1b [c:\reactos\ntoskrnl\include\internal\i386\ke.h @ 742]
      f7da0d5c 80403d96 0071fff4 7c92c589 badb0d00 nt!KiSystemServiceHandler+0x22f [c:\reactos\ntoskrnl\ke\i386\traphdlr.c @ 1738]
      f7da0d5c 7c92c589 0071fff4 7c92c589 badb0d00 nt!KiSystemService+0x60
      0073ff5c 00000000 00000000 00000000 00000000 ntdll!KiIntSystemCall+0x6
       
       
      STACK_COMMAND:  kb
       
      FOLLOWUP_IP: 
      win32k!RawInputThreadMain+365 [c:\reactos\win32ss\user\ntuser\input.c @ 248]
      f7eab675 8945a0          mov     dword ptr [ebp-60h],eax
       
      SYMBOL_STACK_INDEX:  3
       
      SYMBOL_NAME:  win32k!RawInputThreadMain+365
       
      FOLLOWUP_NAME:  MachineOwner
       
      MODULE_NAME: win32k
       
      IMAGE_NAME:  win32k.sys
       
      DEBUG_FLR_IMAGE_TIMESTAMP:  577913ef
       
      FAILURE_BUCKET_ID:  0x0_win32k!RawInputThreadMain+365
       
      BUCKET_ID:  0x0_win32k!RawInputThreadMain+365
       
      Followup: MachineOwner
      ---------
       
      Stack call:
      Args to Child              
      f7da0cf4 b172e200 804028c3 nt!KiSwapContextExit(struct _KTHREAD * OldThread = 0xb16f6438, struct _KSWITCHFRAME * SwitchFrame = 0xf7da0ac8)+0x99 [c:\reactos\ntoskrnl\ke\i386\thrdini.c @ 349]
      00000001 f7da0b38 804811ea nt!KiSwitchThreads+0xb
      00000004 f7da0c20 00000001 nt!KeWaitForMultipleObjects(unsigned long Count = 4, void ** Object = 0xf7da0c20, _WAIT_TYPE WaitType = WaitAny (0n1), _KWAIT_REASON WaitReason = UserRequest (0n6), char WaitMode = 0n0 '', unsigned char Alertable = 0x01 '', union _LARGE_INTEGER * Timeout = 0x00000000, struct _KWAIT_BLOCK * WaitBlockArray = 0xf7da0bbc)+0x687 [c:\reactos\ntoskrnl\ke\wait.c @ 842]
      00000000 f7da0d04 f7ed9a87 win32k!RawInputThreadMain(void)+0x365 [c:\reactos\win32ss\user\ntuser\input.c @ 248]
      00000000 f7da0d14 0071fff4 win32k!CreateSystemThreads(unsigned int Type = 0)+0x24 [c:\reactos\win32ss\user\ntuser\input.c @ 346]
      00000000 00000022 00000005 win32k!NtUserCallOneParam(unsigned long Param = 0, unsigned long Routine = 0x22)+0x547 [c:\reactos\win32ss\user\ntuser\simplecall.c @ 347]
      f7ed9540 0071ffec 00000008 nt!KiSystemCallTrampoline(void * Handler = 0xf7ed9540, void * Arguments = 0x0071ffec, unsigned long StackBytes = 8)+0x1b [c:\reactos\ntoskrnl\include\internal\i386\ke.h @ 742]
      0071fff4 7c92c589 badb0d00 nt!KiSystemServiceHandler(struct _KTRAP_FRAME * TrapFrame = 0xf7da0d64, void * Arguments = 0x0071ffec)+0x22f [c:\reactos\ntoskrnl\ke\i386\traphdlr.c @ 1738]
      0071fff4 7c92c589 badb0d00 nt!KiSystemService+0x60
      00000000 00000000 00000000 ntdll!KiIntSystemCall+0x6

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: