Closed
Issue #26 · created by Jacob Hurd · ·

Galacticraft + Litelaoder for 1.10.2

Using galacticraft patch 86 for 1.10.2 and liteloader. creating a single player world or trying to join a server you get this error:

[16:53:10] [Server thread/INFO]: local:E:dd3975ba lost connection: Internal Exception: java.lang.NoClassDefFoundError: com/mumfrey/liteloader/core/event/EventProxy$2

Single player stays stuck at loading screen with 0% With liteloader installed, even though the server is online it shows it as offline, trying to join produces the above error but does ping the server.

Removing liteloader fixes these problems, i also tried the latest snapshot

Link to discussion: https://github.com/micdoodle8/Galacticraft/issues/2700#issuecomment-300760495fml-client-latest.log latest.log

2 participants
liteloader/LiteLoader#26
  • The EventProxy classes are synthetic classes, what this error means (usually) is that a transformer in the transformer chain is failing to handle null classBytes correctly. When a transformer receives null it must either synthesize the class or return null so that later transformers in the chain can return the bytecode.

    Since liteloader's transformer needs to generate the class, if a transformer is incorrectly handling the null bytecode and throwing an exception for example, the request will never reach liteloader's transformer and the class will never be generated.

    Basically this situation can only be caused by a faulty transformer which is failing to return null when receiving null bytecode.

  • Unrelated: sorry for the slow response, I was on holiday and only noticed this issue when I got a notification for a different issue.

  • well it only happens when this and galacticraft are together, galacticraft says its not there issue soo idk

  • All I can tell you is this happens when a transformer doesn't handle null class bytes correctly, basically liteloader never gets a chance to create the class because some upstream transformer basically says "nope, that class doesn't exist" (either intentionally or by throwing an error) before liteloader gets a chance to create the class.