LavaGang / MelonLoader

The World's First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono
https://discord.gg/2Wn3N2P
Apache License 2.0
2.4k stars 475 forks source link

[Bug]: Game crashes without any log entry #768

Open startrekfleetcommand-dev opened 5 days ago

startrekfleetcommand-dev commented 5 days ago

Latest.log

All of the following criteria must be met

All of the following are optional to answer

Describe the issue.

With 0.6.5 on Windows 11, the game gets to a loading screen but consistently crashes silently, even when no mods or plugins are installed. With the example plugin it shows that OnInitializeMelon fires, but nothing after (OnGUI, OnUpdate etc.) No errors in Latest-Bootstrap.log either. Tried with AVG off, and in safe mode. Latest nightly as well, same thing.

https://startrekfleetcommand.com/download-game/

Event Viewer shows exception code 0xc0000005 in GameAssembly.dll , which Microsoft's Debug Diagnostic Tool describes as an access violation.

Had to move off of the rock solid 0.6.3 as it (and all versions before it) have Il2CppAssemblyGenerator throwing the following:

Cpp2IL.Core.Exceptions.LibCpp2ILInitializationException: Fatal Exception initializing LibCpp2IL! ---> System.FormatException: Unsupported metadata version found! We support 23-29, got 31

Weirdly the latest bepinex 6 can load into the game with the sample mod without errors, but it lacks the OnGui and OnUpdate functionality.

Did you attach your log file?

Yes, I attached my log file to the text box above.

HerpDerpinstine commented 5 days ago

Give the latest alpha-development build of v0.6.6 a try and let me know if you have the same problem. https://nightly.link/LavaGang/MelonLoader/workflows/build/alpha-development

startrekfleetcommand-dev commented 5 days ago

Latest.log

Thanks for responding! Tried both x64 Release and Debug there, in clean installs, and they fail in the same spot. Same 0xc0000005 in GameAssembly.dll . Anything else I could try?

HerpDerpinstine commented 1 day ago

Redownload the alpha-development build of v0.6.6 from the same URL and try again. We have just made more changes that might help more. https://nightly.link/LavaGang/MelonLoader/workflows/build/alpha-development/MelonLoader.Windows.x64.CI.Debug.zip

startrekfleetcommand-dev commented 22 hours ago

Thanks for staying on this! Same issue in a clean install with no mods unfortunately - 0xc0000005 in GameAssembly.dll . I've highlighted the changes to the most recent Debug.log using Beyond Compare (Latest-Bootstrap.log is the same)

Latest.log

[MonoLibrary] Caught SecurityException, assuming not running under mono and continuing with init
to
[MelonAssemblyResolver] Setup Successful!
Loading MelonModule 'C:\Games\Star Trek Fleet Command\default\game\MelonLoader\Dependencies\CompatibilityLayers\EOS.dll'
to
*removed*
[DotnetManagedFolder] Loading from C:\Games\Star Trek Fleet Command\default\game\MelonLoader\Il2CppAssemblies\Il2Cppmscorlib.dll...
[DotnetManagedFolder] Loading from C:\Games\Star Trek Fleet Command\default\game\MelonLoader\Il2CppAssemblies\UnityEngine.CoreModule.dll...
to
[MelonAssemblyResolver] Loading from C:\Games\Star Trek Fleet Command\default\game_MelonLoader_0.6.6_AlphaB\MelonLoader\Il2CppAssemblies\Il2Cppmscorlib.dll...
[MelonAssemblyResolver] Loading from C:\Games\Star Trek Fleet Command\default\game_MelonLoader_0.6.6_AlphaB\MelonLoader\Il2CppAssemblies\UnityEngine.CoreModule.dll...

Please keep looking, and I'll keep trying!

startrekfleetcommand-dev commented 21 hours ago

Been wondering if its something in the binaries of the latest game update causing the crash, aka attempts to block external loaders/libraries etc, so found a pre-update copy of the game with 0.6.2 installed. It still runs without crashing, and stops with the expected "You need to update your game" screen (process stays executing, my mod loads great, no appcrash or uncaught exception).

Keeping the pre-update copy of the game, removing the 0.6.2 Melonloader folder and emptying the Mods and UserLibs folders, and then installing 0.6.4, 0.6.5 and latest alpha 0.6.6 all yield the 0xc0000005 appcrash in the GameAssembly.dll

I mentioned "the rock solid 0.6.3" in my initial post. I meant to say 0.6.2 was rock solid. In the above scenario 0.6.3 fails early with the following (typed out from a screenshot, not present in Latest.log):

[NewEntryPoint] Passing ptr to LoadAssemblyAndGetFunctPtr back to host... [NewEntryPoint] Configuring imports... [NewEntryPoint] Initializing. In default load context: True [!] [C:\Users\Sam\CLionProjects\Dobby\source\InstructionRelocation\x64\X64InstructionRelocation.cc:86:GenRelocateCodeFixed]: [!] unimplemented code!!!

I really hope this helps nail down when the issue could have crept in.