Sinytra Connector

Sinytra Connector

12M Downloads

Connector 2.0.0-beta.5+1.21.1 Crash during boot with Big Globe

QuodyC opened this issue ยท 2 comments

commented

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

  1. Install 2.0.0-beta.5+1.21.1 and any version of Big Globe.
  2. Boot
  3. 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.

commented

Same error and same fix but for terrastorage github

commented

Confirming that this still happens with Connector 2.0.0-beta.6+1.21.1.