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

Class::Init signatures have been exhausted, using il2cpp_class_has_references as a substitute! #455

Closed
guochaolinDLKF opened this issue Aug 1, 2022 · 1 comment
Labels
bug Something isn't working

Comments

@guochaolinDLKF
Copy link

What happened?

使用Unity2021.2.8f1构建IL2CPP后,运行游戏,程序会崩溃,接着BepInEx报错:Class::Init signatures have been exhausted, using il2cpp_class_has_references as a substitute!
但是换成Mono的方式或者2019.4.33版本后,就正常了。
希望可以支持高版本的UnityIL2CPP

Steps to reproduce

使用Unity2021.2.8f1构建IL2CPP

BepInEx Distribution

Bleeding Edge from BepisBuilds

Log outputs

[Message: Preloader] BepInEx 6.0.0-be.571 - BepInExProject21
[Message: Preloader] BLEEDING EDGE Build #571 from 3a54f7eef841493e9c715606576b94f2326c4cc1 at master
[Info   :   BepInEx] System platform: Windows 10 64-bit
[Info   :   BepInEx] Process bitness: 64-bit (x64)
[Info   : Preloader] Running under Unity v2022.1.0
[Message: Preloader] Downloading unity base libraries
[Message: Preloader] Extracting downloaded unity base libraries
[Message: Preloader] Generating Il2CppUnhollower assemblies
[Info   :    Cpp2IL] [Library] Initializing Metadata...
[Info   :    Cpp2IL] [Library] Using actual IL2CPP Metadata version 29
[Info   :    Cpp2IL] [Library] Initialized Metadata in 208ms
[Info   :    Cpp2IL] [Library] Searching Binary for Required Data...
[Info   :    Cpp2IL] [Library] Got Binary codereg: 0x1804773B0, metareg: 0x1804B6770 in 61ms.
[Info   :    Cpp2IL] [Library] Initializing Binary...
[Info   :    Cpp2IL] [Library] Initialized Binary in 100ms
[Info   :    Cpp2IL] [Library] Mapping pointers to Il2CppMethodDefinitions...
[Info   :    Cpp2IL] [Library] Processed 11768 OK (19ms)
[Info   :    Cpp2IL] [Program] Building assemblies...This may take some time.
[Info   :    Cpp2IL] [Program] Finished Building Assemblies in 288ms
[Info   :    Cpp2IL] [Program] Fixing up explicit overrides. Any warnings you see here aren't errors - they usually indicate improperly stripped or obfuscated types, but this is not a big deal. This should only take a second...
[Info   :    Cpp2IL] [Program] Fixup complete (16ms)
[Info   :    Cpp2IL] Total time: 00:00:00.7589421
[Info   : Preloader] Executing Il2CppUnhollower generator
[Info   :Unhollower] Reading assemblies...
[Info   :Unhollower] Done in 00:00:00.0021516
[Info   :Unhollower] Reading system assemblies...
[Info   :Unhollower] Done in 00:00:00.0313837
[Info   :Unhollower] Reading unity assemblies...
[Info   :Unhollower] Done in 00:00:00.0232298
[Info   :Unhollower] Creating rewrite assemblies...
[Info   :Unhollower] Done in 00:00:00.0045627
[Info   :Unhollower] Computing renames...
[Info   :Unhollower] Done in 00:00:00.0115650
[Info   :Unhollower] Creating typedefs...
[Info   :Unhollower] Done in 00:00:00.0128244
[Info   :Unhollower] Computing struct blittability...
[Info   :Unhollower] Done in 00:00:00.0011864
[Info   :Unhollower] Filling typedefs...
[Info   :Unhollower] Done in 00:00:00.0027367
[Info   :Unhollower] Filling generic constraints...
[Info   :Unhollower] Done in 00:00:00.0004660
[Info   :Unhollower] Creating members...
[Info   :Unhollower] Done in 00:00:00.0449194
[Info   :Unhollower] Scanning method cross-references...
[Info   :Unhollower] Done in 00:00:00.0983452
[Info   :Unhollower] Finalizing method declarations...
[Info   :Unhollower] Done in 00:00:00.0845024
[Info   :Unhollower] 0 total potentially dead methods
[Info   :Unhollower] Filling method parameters...
[Info   :Unhollower] Done in 00:00:00.0287318
[Info   :Unhollower] Creating static constructors...
[Info   :Unhollower] Done in 00:00:00.0351750
[Info   :Unhollower] Creating value type fields...
[Info   :Unhollower] Done in 00:00:00.0153617
[Info   :Unhollower] Creating enums...
[Info   :Unhollower] Done in 00:00:00.0052228
[Info   :Unhollower] Creating IntPtr constructors...
[Info   :Unhollower] Done in 00:00:00.0017260
[Info   :Unhollower] Creating type getters...
[Info   :Unhollower] Done in 00:00:00.0081866
[Info   :Unhollower] Creating non-blittable struct constructors...
[Info   :Unhollower] Done in 00:00:00.0014150
[Info   :Unhollower] Creating generic method static constructors...
[Info   :Unhollower] Done in 00:00:00.0024604
[Info   :Unhollower] Creating field accessors...
[Info   :Unhollower] Done in 00:00:00.0760948
[Info   :Unhollower] Filling methods...
[Info   :Unhollower] Done in 00:00:00.1630626
[Info   :Unhollower] Generating implicit conversions...
[Info   :Unhollower] Done in 00:00:00.0040960
[Info   :Unhollower] Creating properties...
[Info   :Unhollower] Done in 00:00:00.0083772
[Info   :Unhollower] Unstripping types...
[Info   :Unhollower] Done in 00:00:00.0380745
[Info   :Unhollower] Unstripping fields...
[Info   :Unhollower] 
[Info   :Unhollower] 1050 fields restored
[Info   :Unhollower] 23 fields failed to restore
[Info   :Unhollower] Done in 00:00:00.0142061
[Info   :Unhollower] Unstripping methods...
[Info   :Unhollower] 
[Info   :Unhollower] 21994 methods restored
[Info   :Unhollower] 1861 methods failed to restore
[Info   :Unhollower] Done in 00:00:00.5844871
[Info   :Unhollower] Unstripping method bodies...
[Info   :Unhollower] 
[Info   :Unhollower] IL unstrip statistics: 9884 successful, 5031 failed
[Info   :Unhollower] Done in 00:00:00.4823956
[Info   :Unhollower] Generating forwarded types...
[Info   :Unhollower] Done in 00:00:00.0065508
[Info   :Unhollower] Writing xref cache...
[Info   :Unhollower] Done in 00:00:00.0342756
[Info   :Unhollower] Writing assemblies...
[Info   :Unhollower] Done in 00:00:00.3648146
[Info   :Unhollower] Writing method pointer map...
[Info   :Unhollower] Done in 00:00:00.0070829
[Info   :Unhollower] Done!
[Info   : Preloader] 0 patcher plugins loaded
[Info   : Preloader] 0 assemblies discovered
[Message:AssemblyPatcher] Executing 0 patch(es)
[Message:   BepInEx] Chainloader initialized
[Warning:Unhollower] Class::Init signatures have been exhausted, using il2cpp_class_has_references as a substitute!

Environment

- OS: Windows10
- BepInEx: BepInEx_UnityIL2CPP_x64_3a54f7e_6.0.0-be.571
- Game: 自研游戏
@ghorsington
Copy link
Contributor

Greetings!

Thanks for all the reports. Since we've been getting the same reports on Discord and other GH issues, I've consolidated all reports into a single ticket:

#474

You can find more information about the issue and a temporary workaround there. As such, I'm closing this issue to favour one central place for the problem discussion.

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