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

Regression: [Win32SS, OpenGL32] Unreal Tournament fails with Memory Access Violation at nt!IoBuildDeviceIoControlRequest+2d during its OpenGL render driver initialization, when VMware ICD Driver is installed and application tries to go Fullscreen Mode.

    XMLWordPrintable

Details

    Description

      Testing 0.4.14-dev-178-g90c5cac
      Test done with a MSVC Build, MSVC_19.0.24213.1.
      Test done in Win10 1803/VMware Workstation 12.
      Test done using Vmware's SVGA driver from VMware Tools v12.0.1

      This problem occurs after PR merge (contains 2 commits!)
      https://github.com/reactos/reactos/pull/87

      The problem is:

      Access violation - code c0000005 (!!! second chance !!!)

      nt!IoBuildDeviceIoControlRequest+2d [x:\src\master\reactos\ntoskrnl\io\iomgr\irp.c @ 896]
      8046ce6d 0fb64830 movzx ecx,byte ptr [eax+30h]

      The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.

      • This problem occurs when UnrealTournament game application initializes its OpenGL rendering engine, and the engine tries to go Full Screen Mode
      • If we are in debug mode and use the 'g' command to continue, ReactOS doesn't crash/BSoD after this error, but desktop freezes with only mouse cursor being alive
      • With no way to invoke a reboot with the mouse or keyboard, a forced reboot is required to recover the system

      Reverting ONLY

      https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3e1a54151fdb2f513d5e1d4a374c2c973132493a

      from the culprit PR makes the game usable again with the VM 3D OpenGL acceleration enabled, while it ACTUALLY FIXES one of the asserts specified in CORE-7727, related to the PR.

      DON'T REVERT THE WHOLE PR!

      DebugLogs describing the situation before and after the reversion are included, along one picture of the game working after the reversion

      Attachments

        1. CORE-16465_revert.patch
          7 kB
        2. CORE-16465.diff
          0.4 kB
        3. cursoricon.patch
          1 kB
        4. Halo_CE_1.png
          Halo_CE_1.png
          64 kB
        5. Halo_CE_2.png
          Halo_CE_2.png
          62 kB
        6. print.c
          17 kB
        7. print.patch
          24 kB
        8. print.patch
          24 kB
        9. print.patch
          24 kB
        10. print.patch
          24 kB
        11. print.patch
          24 kB
        12. print.patch
          24 kB
        13. print.patch
          23 kB
        14. print.patch
          23 kB
        15. print.patch
          23 kB
        16. print.patch
          23 kB
        17. print.patch
          23 kB
        18. print.patch
          23 kB
        19. print.patch
          22 kB
        20. ReactOS_with_print_patch_20201006.7z
          85 kB
        21. ReactOS.log
          100 kB
        22. ROSDebugVM20210917105931.log
          134 kB
        23. RosVMwareScreenGrab-20191029145625.png
          RosVMwareScreenGrab-20191029145625.png
          198 kB
        24. RosVMwareScreenGrab-20191029215812.png
          RosVMwareScreenGrab-20191029215812.png
          9 kB
        25. RosVMwareScreenGrab-20191031140550.png
          RosVMwareScreenGrab-20191031140550.png
          166 kB
        26. RosVMwareScreenGrab-20191101133144.png
          RosVMwareScreenGrab-20191101133144.png
          8 kB
        27. RosVMwareScreenGrab-20191102142225.png
          RosVMwareScreenGrab-20191102142225.png
          255 kB
        28. RosWindbg-20210625050818.log
          59 kB
        29. RosWindbg-20210625052739.log
          64 kB
        30. RosWindbg-PrintPatchTestin10.log
          85 kB
        31. RosWindbg-PrintPatchTestin11.log
          58 kB
        32. RosWindbg-PrintPatchTestin12.log
          56 kB
        33. RosWindbg-PrintPatchTestin13.log
          56 kB
        34. RosWindbg-PrintPatchTestin14.log
          56 kB
        35. RosWindbg-PrintPatchTesting.log
          10 kB
        36. RosWindbg-PrintPatchTesting2.log
          10 kB
        37. RosWindbg-PrintPatchTesting3.log
          10 kB
        38. RosWindbg-PrintPatchTesting4.log
          50 kB
        39. RosWindbg-PrintPatchTesting5.log
          54 kB
        40. RosWindbg-PrintPatchTesting6.log
          54 kB
        41. RosWindbg-PrintPatchTesting7.log
          56 kB
        42. RosWindbg-PrintPatchTesting7.log
          54 kB
        43. RosWindbg-PrintPatchTesting9.log
          52 kB
        44. RosWinDbg-RegressionTesting-AfterRevert.log
          14 kB
        45. RosWinDbg-RegressionTesting-AfterRevertDetailed.log
          220 kB
        46. RosWinDbg-RegressionTesting-BeforeRevert.log
          9 kB
        47. win32ss_ref_device_object.diff
          0.6 kB

        Issue Links

          Activity

            People

              zefklop jgardou
              r3mendozal r3mendozal
              Votes:
              6 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated: