
Connector 2.0.0-beta.5+1.21.1 Crash during boot with Big Globe
QuodyC opened this issue ยท 2 comments
Mod Name
Big Globe
Mod Homepage
https://github.com/Builderb0y/BigGlobe
Minecraft version
1.21.1
Describe the bug
Crash during boot with Connector 2.0.0-beta.5+1.21.1 and Big Globe
Steps to reproduce
- Install 2.0.0-beta.5+1.21.1 and any version of Big Globe.
- Boot
- Crash
...
Logs
Crash: https://mclo.gs/UTpVnYY Debug: https://mclo.gs/fAqL5jJ
Additional context
Big Globe works perfectly fine with Connector 2.0.0-beta.4+1.21.1
Notes from Builderb0y while troubleshooting with them;
AutoCodec uses reflection and annotations to create Codec instances which can serialize arbitrary classes. Big Globe includes AutoCodec as a JIJ dependency, and relies on AutoCodec to create Codecs for Big Globe's classes. AutoCodec is failing to access public members inside Big Globe. As far as I know, this can only happen if the module doesn't open or export those members. Neither Big Globe nor AutoCodec use modules, so I suspect connector is creating modules at runtime which do not declare the correct opens/exports. Or, maybe it's some kind of class loader issue. I don't know if one class loader can access members of a class loaded from a different class loader or not.
What's interesting is that Big Globe does not crash when trying to access AutoCodec's members in a non-reflective way. The crash only occurs when AutoCodec tries to access the rest of Big Globe reflectively.
Same error and same fix but for terrastorage github