Server-based crash with Forge 28.1.44
noobanidus opened this issue ยท 6 comments
This crash is a little confusing to me. The actual report is here although it doesn't give a lot of information as to where the actual crash is occurring, just that something happened to prevent it loading.
Digging deeper into debug.log
, I found this:
java.lang.ExceptionInInitializerError: null
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_181]
at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_181]
at net.minecraftforge.fml.AutomaticEventSubscriber.lambda$inject$3(AutomaticEventSubscriber.java:70) ~[?:?]
at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:1.8.0_181]
at net.minecraftforge.fml.AutomaticEventSubscriber.inject(AutomaticEventSubscriber.java:57) ~[?:?]
at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:141) ~[?:28.1]
at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65) ~[?:1.8.0_181]
at java.util.function.Consumer.lambda$andThen$0(Consumer.java:65) ~[?:1.8.0_181]
at net.minecraftforge.fml.ModContainer.transitionState(ModContainer.java:112) ~[?:?]
at net.minecraftforge.fml.ModList.lambda$null$10(ModList.java:134) ~[?:?]
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) [?:1.8.0_181]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) [?:1.8.0_181]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) [?:1.8.0_181]
at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291) [?:1.8.0_181]
at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731) [?:1.8.0_181]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) [?:1.8.0_181]
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) [?:1.8.0_181]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) [?:1.8.0_181]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) [?:1.8.0_181]
Caused by: java.lang.NullPointerException
at cpw.mods.modlauncher.TransformerClassWriter.getCommonSuperClass(TransformerClassWriter.java:102) ~[modlauncher-4.0.0.jar:?]
at org.objectweb.asm.SymbolTable.addMergedType(SymbolTable.java:1209) ~[asm-6.2.jar:?]
at org.objectweb.asm.Frame.merge(Frame.java:1293) ~[asm-6.2.jar:?]
at org.objectweb.asm.Frame.merge(Frame.java:1175) ~[asm-6.2.jar:?]
at org.objectweb.asm.MethodWriter.computeAllFrames(MethodWriter.java:1604) ~[asm-6.2.jar:?]
at org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1540) ~[asm-6.2.jar:?]
at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:807) ~[asm-tree-6.2.jar:?]
at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:687) ~[asm-tree-6.2.jar:?]
at org.objectweb.asm.tree.ClassNode.accept(ClassNode.java:436) ~[asm-tree-6.2.jar:?]
at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:121) ~[modlauncher-4.0.0.jar:?]
at cpw.mods.modlauncher.TransformingClassLoader$DelegatedClassLoader.findClass(TransformingClassLoader.java:241) ~[modlauncher-4.0.0.jar:?]
at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:128) ~[modlauncher-4.0.0.jar:?]
at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:98) ~[modlauncher-4.0.0.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_181]
at com.simibubi.create.AllTileEntities.<clinit>(AllTileEntities.java:67) ~[?:mc1.14.4_v0.1.1]
... 19 more
Which seems to be indicating that the modlauncher's getCommonSuperClass function was triggering a NullPointerException. I'm not entirely sure how that relates to Create, but it would seem that the first variable passed to getCommonSuperClass
in modlauncher is null.
The rest of that NullPointerException hints that it was triggered by something in the static initialisation of your AllTileEntities class.
The process as I see it:
- static initialisation is happening and AllTileEntities is being loaded
- AllTileEntities does static initialisation (in the form of enum creation)
- One of the classes that AllTileEntities is referencing is being loaded
- The modlauncher is catching that load and is passing it out to be transformed
- At some point in time during the transformation process,
getCommonSuperClass
is called withnull
as the first parameter.
I'm not entirely sure how to even begin debugging it outside of some sort of binary-search by deleting half the entries in AllTileEntities
, etc, etc. It might even be an issue with either recent changes to Forge or a recent change to modlauncher...
Very strange, indeed- I cannot reproduce this with Create alone.
Is your modpack available on Curseforge?
According to cpw (author of modlauncher), it has something to do with the @EventBusSubscriber
and recommends (very, very strongly) against using it and instead registering the event subscribers manually instead; the reason being is that it obfuscates the errors and makes them (his words) "night untraceable".
I don't currently have a copy of the pack available on Forge as it has a number of in-dev mods. Once I update everything to the latest version, I'll try it again & try to get you a copy.
All right, I've finally managed to get a copy of the pack uploaded. It is a testing pack and it was running on a server using Java 8 (an Akliz server) when the crash happened. You can get it here (either Twitch Export or the Full Pack). You'd obviously need to use the Forge installer to get the server set-up if you wanted to test it out like that.
If there's anything else I could contribute please let me know!
Hi again,
sorry if I missed it but, does the startup crash still happen from time to time?
It's intermittent but it's also happening with other mods that are using the @Mod.EventBusSubscriber
, so I don't precisely know what the cause is :/
So, it's been another week and with repeated restarts I can comfortably say that updating to a more recent version of forge (I think we're on 28.1.79), as well as restarts every 6 hours, the server has never once failed to come up/presented with this error before, so I think it may have been an issue with Forge that had already been updated.
I'm going to close this issue; if it begins recurring again (seems unlikely), I'll comment or open another issue.