Server-based crash with Forge 28.1.44
See original GitHub issueThis 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…
Issue Analytics
- State:
- Created 4 years ago
- Comments:6
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.
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!