Trigger-Happy (Fabric)

Trigger-Happy (Fabric)

2.5k Downloads

Server crash on startup when installed

CStafford-14 opened this issue ยท 6 comments

commented

For some odd reason, this mod causes a server to crash on startup. Clients with the same modpack start just fine and play single player just fine as well. But for some reason, it doesn't work on the server.

Specs:

  • OS: Ubuntu 22.04 LTS
  • Minecraft Version: 1.20.1
  • Fabric loader: 0.14.22
  • Fabric API: 0.88.1

Logs:

...
[00:02:52] [main/ERROR]: Failed to start the minecraft server
java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'triggerhappy'!
        at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$0(EntrypointUtils.java:51) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:49) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:62) ~[fabric-loader-0.14.22.jar:?]
        at net.minecraft.server.Main.main(Main.java:112) ~[server-intermediary.jar:?]
        at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69) ~[fabric-server-mc.1.20.1-loader.0.14.22-launcher.0.11.2.jar:0.11.2]
Caused by: java.lang.NoClassDefFoundError: net/minecraft/class_572$class_573
        at net.elidhan.triggerhappy.TriggerHappy.<clinit>(TriggerHappy.java:24) ~[Trigger-Happy-1.20.1-v1.0.3.jar:?]
        at java.lang.Class.forName0(Native Method) ~[?:?]
        at java.lang.Class.forName(Class.java:467) ~[?:?]
        at net.fabricmc.loader.impl.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:50) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:117) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:53) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.14.22.jar:?]
        ... 8 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.class_572$class_573
        at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:226) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:112) ~[fabric-loader-0.14.22.jar:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
        at net.elidhan.triggerhappy.TriggerHappy.<clinit>(TriggerHappy.java:24) ~[Trigger-Happy-1.20.1-v1.0.3.jar:?]
        at java.lang.Class.forName0(Native Method) ~[?:?]
        at java.lang.Class.forName(Class.java:467) ~[?:?]
        at net.fabricmc.loader.impl.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:50) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:117) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:53) ~[fabric-loader-0.14.22.jar:?]
        at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.14.22.jar:?]
        ... 8 more

If it helps, here's a few lines from earlier in the logs:

...
[00:02:36] [main/WARN]: Error loading class: eu/pb4/styledchat/StyledChatUtils (java.lang.ClassNotFoundException: eu/pb4/styledchat/StyledChatUtils)
[00:02:38] [main/WARN]: Error loading class: net/minecraft/class_572$class_573 (java.lang.ClassNotFoundException: net/minecraft/class_572$class_573)
[00:02:38] [main/WARN]: @Mixin target net.minecraft.class_572$class_573 was not found mixins.mm.json:net.minecraft.class_572$class_573 from mod mm
[00:02:50] [main/INFO]: Reflections took 140 ms to scan 2 urls, producing 2 keys and 33 values
...

It looks like net.minecraft.class_572$class_573 isn't being loaded or something like that. Not sure if this is a bug with fabric itself or with the mod.

EDIT: The error about net.minecraft.class_572$class_573 does not appear when the mod is not present.

commented

Strange, net.minecraft.class_572$class_573 is referring to BipedEntityModel.ArmPose. Might have to do something with Fabric ASM's early riser, but not sure yet. Will look into this

commented

Update! Most clients connecting to the server are running Java 21, so I decided to upgrade the server's java installation to Java 21 as well (it was on 17) Once again, the same issue arose.

commented

Same issue here

java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'triggerhappy'!
at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$2(FabricLoaderImpl.java:387) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:385) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:63) ~[fabric-loader-0.14.23.jar:?]
at net.minecraft.server.Main.main(Main.java:112) ~[server-intermediary.jar:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69) ~[server.jar:0.11.2]
Caused by: java.lang.NoClassDefFoundError: net/minecraft/class_572$class_573
at net.elidhan.triggerhappy.TriggerHappy.(TriggerHappy.java:24) ~[Trigger-Happy-1.20.1-v1.0.3.jar:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:467) ~[?:?]
at net.fabricmc.loader.impl.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:50) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.loader.impl.entrypoint.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:117) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:53) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:383) ~[fabric-loader-0.14.23.jar:?]
... 7 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.class_572$class_573
at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:226) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.14.23.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
at net.elidhan.triggerhappy.TriggerHappy.(TriggerHappy.java:24) ~[Trigger-Happy-1.20.1-v1.0.3.jar:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:467) ~[?:?]
at net.fabricmc.loader.impl.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:50) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.loader.impl.entrypoint.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:117) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.loader.impl.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:53) ~[fabric-loader-0.14.23.jar:?]
at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:383) ~[fabric-loader-0.14.23.jar:?]
... 7 more

commented

It's because the early riser attempts to access a class that isn't present on the server. net.minecraft.class_572$class_573 is a client-side-only class.

commented

yep that was it, i found out the cause a couple months back actually but couldn't figure out how to make the client side code run for clients only until now (oopsie daisy), gonna update the mod in a bit after retesting on a server

commented

I'm up for testing! I have plenty of resources to run a test server alongside my production server.