Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BepInEx 6 (Bleeding Edge) : Crashes after Setup #671

Closed
dlbuhtig4096 opened this issue Sep 11, 2023 · 4 comments
Closed

BepInEx 6 (Bleeding Edge) : Crashes after Setup #671

dlbuhtig4096 opened this issue Sep 11, 2023 · 4 comments
Labels
bug Something isn't working

Comments

@dlbuhtig4096
Copy link

What happened?

The game crashes after BepInEx setup the chain loader.
The game was Megaman X Dive Offline, it was made with Unity 2020.3.41, and the main il2cpp library was packed by the Enigma Protecter.
I have unpacked the library and everything worked so far without BepInEx.

If I disable the UnityLogListening in BepInEx/config/BepInEx.cfg, then the game would be able to boot up successfully.
However, after installing the Unity Explorer, the game still crashed.

The exception code I got with UnityLogListening enabled was 0xC0000374, which stands for heap corruption.
Possibly related to #474, however the warning message was different.

The below log was from a boot with Unity Explorer.

Steps to reproduce

  1. Install BepInEx
  2. Run the game
  3. Observe the normal assembly generation process after which you get a warning about GarbageCollector::RunFinalizer not found, disabling Il2CppObjectPool and crashes right after Chainloader startup complete.

BepInEx Distribution

Bleeding Edge from BepisBuilds

Log outputs

[Message: Preloader] BepInEx 6.0.0-be.674 - Game
[Message: Preloader] Built from commit 82077ec7c91c97f0e5f8ada5d178fd7ece6c0099
[Info   :   BepInEx] System platform: Windows 10 64-bit
[Info   :   BepInEx] Process bitness: 64-bit (x64)
[Info   :   BepInEx] Running under Unity 2020.3.41f1
[Info   :   BepInEx] Runtime version: 6.0.7
[Info   :   BepInEx] Runtime information: .NET 6.0.7
[Info   : Preloader] 0 patcher plugins loaded
[Info   : Preloader] 0 assemblies discovered
[Message:AssemblyPatcher] Executing 0 patch(es)
[Message:   BepInEx] Chainloader initialized
[Info   :   BepInEx] 1 plugin to load
[Info   :   BepInEx] Loading [UnityExplorer 4.9.0]
[Message:UnityExplorer] UnityExplorer 4.9.0 initializing...
[Message:UnityExplorer] [UniverseLib] UniverseLib 1.5.1 initializing...
[Warning:Il2CppInterop] GarbageCollector::RunFinalizer not found, disabling Il2CppObjectPool
[Info   :Il2CppInterop] Registered mono type UniverseLib.UniversalBehaviour in il2cpp domain
[Warning:Il2CppInterop] GarbageCollector::RunFinalizer not found, disabling Il2CppObjectPool
[Info   :Il2CppInterop] Registered mono type UniverseLib.Runtime.Il2Cpp.Il2CppManagedEnumerator in il2cpp domain
[Message:UnityExplorer] [UniverseLib] Finished UniverseLib initial setup.
[Warning:Il2CppInterop] GarbageCollector::RunFinalizer not found, disabling Il2CppObjectPool
[Info   :Il2CppInterop] Registered mono type Il2CppInterop.Runtime.DelegateSupport+Il2CppToMonoDelegateReference in il2cpp domain
[Warning:Il2CppInterop] GarbageCollector::RunFinalizer not found, disabling Il2CppObjectPool
[Info   :Il2CppInterop] Registered mono type UnityExplorer.ExplorerBehaviour in il2cpp domain
[Message:UnityExplorer] Initialized UnityCrashPrevention for: Canvas.get_renderingDisplaySize
[Message:   BepInEx] Chainloader startup complete

Environment

- OS: Win 11 64-bits, also tested with Win 10 64-bits
- BepInEx: Bleeding Edge
- Game: Megaman X Dive Offline
@dlbuhtig4096 dlbuhtig4096 added the bug Something isn't working label Sep 11, 2023
@mosamadeeb
Copy link

This is probably related to Il2CppInterop, not BepInEx

I did a git bisect and it turns out the issue is related to this commit: BepInEx/Il2CppInterop@4ef3f4a

The issue was fixed when I rebased at BepInEx/Il2CppInterop@63c7407 (latest master) without these 2 commits: 4ef3f4a, c589498

@dlbuhtig4096
Copy link
Author

dlbuhtig4096 commented Sep 12, 2023

This is probably related to Il2CppInterop, not BepInEx

I did a git bisect and it turns out the issue is related to this commit: BepInEx/Il2CppInterop@4ef3f4a

The issue was fixed when I rebased at BepInEx/Il2CppInterop@63c7407 (latest master) without these 2 commits: 4ef3f4a, c589498

Thanks. Could verify the game crashing issue got fixed without that commit.
Il2CppInterop still complained about GarbageCollector::RunFinalizer not found, disabling Il2CppObjectPool without crashing the game, so it seems not related to the garbage collection.
Maybe I should open an issue there instead, or are you going to report it?

@mosamadeeb
Copy link

Yes, you should open an issue about it in Il2CppInterop and close this one.

@dlbuhtig4096
Copy link
Author

Okay.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants