bo3b / 3Dmigoto

Chiri's DX11 wrapper to enable fixing broken stereoscopic effects.
Other
791 stars 125 forks source link

Stack crash from infinite recursion of CreateDevice hooks. Epic Game Store overlay. #130

Open Losti3D opened 4 years ago

Losti3D commented 4 years ago

I crash Remant from the Ashes constantily the time i use migoto. The Launcher will not work, it cannot identify the load, so its not a prevention to use the launcher,

https://losti.s3.amazonaws.com/logs_remnant.7z

May you have an idea?

Also COMPAT SHIM flags will not work to prevent crash.

Any suggestions to try are welcome and of course some fixing ^^

THANKS!

bo3b commented 4 years ago

I can take a look with Remnant from Epic store.

However this log is using version 1.3.10. Does it show same symptoms with 1.3.16? There are some changes specific to hooking in later versions.

Losti3D commented 4 years ago

I can take a look with Remnant from Epic store.

However this log is using version 1.3.10. Does it show same symptoms with 1.3.16? There are some changes specific to hooking in later versions.

I have tested several earlier migoto Versions but not sure if it was 1.3.10 ... ill recheck this this evening.

And i am also using epic games Version.

bo3b commented 4 years ago

Took a quick look- As of 8/13/20 They switched from SteamWorks to using some new EpicOnlineService. And it looks like that has an overlay component that is poorly coded.

I don't have time to look further, but if their overlay can be disabled this will likely still work. Alternatively, the Steam version will likely work.

bo3b commented 4 years ago

Basic log:



Trying to load original_d3d11.dll
Hooked_LoadLibraryExW switching to original dll: original_d3d11.dll to C:\Windows\system32\d3d11.dll.
*** Hooked_CreateDXGIFactory called with riid: IDXGIFactory
*** IDXGIFactory creating hook for CreateSwapChain. 
  Successfully installed IDXGIFactory->CreateSwapChain hook.
  Upcast QueryInterface(IDXGIFactory2) returned result = 0, factory = 00000235D50D7430
*** IDXGIFactory2 creating hooks for CreateSwapChain variants. 
  Successfully installed IDXGIFactory2->CreateSwapChainForHwnd hook.
  Successfully installed IDXGIFactory2->CreateSwapChainForCoreWindow hook.
  Successfully installed IDXGIFactory2->CreateSwapChainForComposition hook.
  CreateDXGIFactory returned factory = 00000235D50D7430, result = 0
  Upcast QueryInterface(IDXGIFactory2) returned result = 0, factory = 00000235D50D7430
  CreateDXGIFactory1 returned factory = 00000235D50D7430, result = 0

 *** D3D11CreateDevice called with
    pAdapter = 00000235D50E7D30
    Flags = 0x1
    pFeatureLevels = 0xb000
    FeatureLevels = 2
    ppDevice = 00000092F58CDB48
    pFeatureLevel = 0
    ppImmediateContext = 00000092F58CDB50
-- UnhookableCreateDevice called
->Feature level allowed through unchanged: 0xb000
Hooking Quirk: Unexpected call back into D3D11CreateDevice, passing through
Hooking Quirk: Unexpected call back into D3D11CreateDevice, passing through
Hooking Quirk: Unexpected call back into D3D11CreateDevice, passing through
Hooking Quirk: Unexpected call back into D3D11CreateDevice, passing through
Hooking Quirk: Unexpected call back into D3D11CreateDevice, passing through
Hooking Quirk: Unexpected call back into D3D11CreateDevice, passing through
Hooking Quirk: Unexpected call back into D3D11CreateDevice, passing through
Hooking Quirk: Unexpected call back into D3D11CreateDevice, passing through
Hooking Quirk: Unexpected call back into D3D11CreateDevice, passing through
Hooking Quirk: Unexpected call back into D3D1 ```
bo3b commented 4 years ago

Yeah, it's their overlay that causes the issue. Workaround is to block their overlay from loading like the old Steam crashes.

They install this path: C:\Program Files (x86)\Epic Games\Launcher\Portal\Extras\Overlay

If you rename Overlay out of the way, it won't be loaded by the game and it therefore runs with 3Dmigoto. Presumably this also blocks the ability to play online co-op.

Losti3D commented 4 years ago

Yeah, it's their overlay that causes the issue. Workaround is to block their overlay from loading like the old Steam crashes.

They install this path: C:\Program Files (x86)\Epic Games\Launcher\Portal\Extras\Overlay

If you rename Overlay out of the way, it won't be loaded by the game and it therefore runs with 3Dmigoto. Presumably this also blocks the ability to play online co-op.

Nice finding! Thank you BOB!!!

I have to start epic games launcher. THAN rename the Overlay folder to some thing else or remove, and than start the game, that works!!

bo3b commented 3 years ago

Just noting this is a further problem for Epic Game Store games.

Rocket League will crash for the same reason, and same log file with hooking quirk. Disabling the social overlay in this game means you can no longer play online tournaments.

This looks to be a 3Dmigoto bug also, as google searches don't bring up any complaints about their overlay.