Reloaded-Project / Reloaded-II

Universal .NET Core Powered Modding Framework for any Native Game X86, X64.
GNU General Public License v3.0
613 stars 83 forks source link

[Granblue Fantasy's Crash Handler Unexpectedly Boots Reloaded] #374

Open Vinzelles opened 6 months ago

Vinzelles commented 6 months ago

Describe the Bug When I click "Launch Application" through Reload program panel, it gets stuck at the injection progress forever, but when I start the game through Steam, I can successfully enter the game with all mods loaded properly. However during playing the modded game, this error message suddenly pops up after every few minutes, causing the game to become unresponsive for 5 to 10 seconds while the injection progress restarts, and then the game returns to normal, and again.

To Reproduce Start the modded game from steam

Expected Behaviour No exceptions during playing

Screenshots image

Additional Context I have another PC with the exact same mods and settings. On that PC, I can launch the game whether through Reload or steam without encountering any errors while playing the modded game.

Sewer56 commented 6 months ago

Strangely, I'm not really sure as to why the Steam Error Reporter has Reloaded injected into it. Unless you specifically put an ASI Loader there.

Only case I can think of is you have Safe DLL search mode turned off in registry so it prioritises current folder over the windows folder. And because the game process is presumably starting the crash handler, it didn't update the current working directory so it can see the loader DLL.

Try running the loader without any mods. If the issues do not persist, you should close this issue and instead report to the relevant mod repositories.


If the issues are not caused by the loader itself, I suggest trying different mod configurations to see what happens, namely:

Make sure your game folder is clean. I assume Manager still edits game folder, which is something no R2 mod should really be doing.

AkiyoAratemuso commented 5 months ago

I've been running into this issue for ever since I started to use Reloaded II for Relink too. It occurs during exit or when matchmaking fails (e.g., steam is offline). I don't have safe DLL registry entry in the location mentioned in MSDN. I've made sure winmm.dll or .ASI injector is not in Steam directory (i.e. sharing a path with steamerrorreporter64) Game folder is clean with a fresh install with only utility manager. Please let me know if there's any troubleshooting step or logs I can provide.

image

Sewer56 commented 5 months ago

I think the caveat is the game is starting the error reporter with a working directory of Granblue Fantasy Relink. And it's picking up the loader ASI Bootstrapper from there.

It's still a bit weird that an ASI Loader is being ran with the error reporter. I'm not really sure why. A listing of file names in the error reporter and granblue folder might help. Maybe check the folder the error reporter itself is contained in.

The DLL Names that the loader can be deployed as are listed here:

https://github.com/Reloaded-Project/Reloaded-II/blob/b845d26121487bf3c8c092ec0fb5e65989a83d19/source/Reloaded.Mod.Launcher.Lib/Utility/AsiLoaderDeployer.cs#L222-L229)

AkiyoAratemuso commented 5 months ago

I think the caveat is the game is starting the error reporter with a working directory of Granblue Fantasy Relink. And it's picking up the loader ASI Bootstrapper from there.

It's still a bit weird that an ASI Loader is being ran with the error reporter. I'm not really sure why. A listing of file names in the error reporter and granblue folder might help. Maybe check the folder the error reporter itself is contained in.

The DLL Names that the loader can be deployed as are listed here:

https://github.com/Reloaded-Project/Reloaded-II/blob/b845d26121487bf3c8c092ec0fb5e65989a83d19/source/Reloaded.Mod.Launcher.Lib/Utility/AsiLoaderDeployer.cs#L222-L229 )

Thanks for the prompt response - here's a file list for the error reporter exe's folder and granblue relink's folder:

Steam folder:

.cef-dev-tools-size.vdf .crash aom.dll appcache avif-16.dll bin clientui config controller_base crashhandler.dll crashhandler.dll.old crashhandler64.dll CSERHelper.dll d3dcompiler_46.dll d3dcompiler_46_64.dll dav1d.dll depotcache dumps fossilize_engine_filters.json friends GameOverlayRenderer.dll GameOverlayRenderer.log GameOverlayRenderer64.dll GameOverlayUI.exe GameOverlayUI.exe.log GameOverlayUI.exe.log.last GfnRuntimeSdk.dll graphics libavcodec-58.dll libavformat-58.dll libavresample-4.dll libavutil-56.dll libswscale-5.dll libx264-142.dll libx264-142.dll.crypt libx264-142.dll.md5 logs music openvr_api.dll package public resource SDL3.dll SDL3_image.dll SDL3_ttf.dll steam Steam.dll steam.exe steam.exe.old steam.signatures Steam2.dll steamapps steamclient.dll steamclient64.dll steamerrorreporter.exe steamerrorreporter64.exe SteamFossilizeVulkanLayer.json SteamFossilizeVulkanLayer64.json SteamOverlayVulkanLayer.dll SteamOverlayVulkanLayer.json SteamOverlayVulkanLayer64.dll SteamOverlayVulkanLayer64.json steamui SteamUI.dll steamwebrtc.dll steamwebrtc64.dll streaming_client.exe streaming_client.exe.log streaming_client.exe.log.last tenfoot ThirdPartyLegalNotices.css ThirdPartyLegalNotices.doc ThirdPartyLegalNotices.html tier0_s.dll tier0_s64.dll uninstall.exe update_hosts_cached.vdf userdata video.dll VkLayer_steam_fossilize.dll VkLayer_steam_fossilize64.dll vstdlib_s.dll vstdlib_s64.dll WriteMiniDump.exe

Relink's folder:

amd_ags_x64.dll bink2w64.dll data data.0 data.1 data.2 data.3 data.4 data.5 data.6 data.7 data.8 data.9 data.i granblue_fantasy_relink.exe orig_data.i Reloaded.Mod.Loader.Bootstrapper.asi steam_api64.dll steam_appid.txt WINMM.dll

As far as I can tell, none of the DLL names the ASI loader are looking for are present in the steamerrorreporter64 folder. I think your theory is true, but then it's weird that only me and the other person reported this issue.

Sewer56 commented 5 months ago

WINMM.dll in Relink's folder is your ASI Loader.

Sewer56 commented 5 months ago

Edit: Comment above mine disappeared on my end, quoting it for convenience

Sorry, I may have some understanding, isn't it intended for Reloaded.Mod.Loader.Bootstrapper.asi and WINMM.dll to be in my Relink folder to be able to load mods without launching it from Reloaded-II?

Deleting either one of them no longer loads any mod when launched directly from Steam.

No, installing an ASI Loader should never be a prerequisite unless there's a really good reason you need it. An example reason is if you use Steam Input to rebind your controller and thus need to launch from Steam.

I think the game is experiencing some silent error, running the crash reporter with the current directory being the game directory, and because the current directory is set to game directory, the ASI Loader is kicking in.

Sewer56 commented 5 months ago

CC. @nenkai Consider writing some code to stop the game from running the Crash Reporter if possible.

Ideally you shouldn't crash in the first place, however, it's best we also don't report crashes on modded copies to the devs. It might make their life a bit harder.