Traincraft

Traincraft

1M Downloads

Fatal crash on startup server-side

Yorick1234 opened this issue ยท 9 comments

commented

Hi,

Sorry to bother,
but I keep getting crashes on my server starting up (not client, works fine there). I'm using version 5.0.4. Deleting the mod makes the server run fine, however. I have provided the logs:

crash-2022-03-14_00.12.15-server.txt
fml-server-latest.log
latest.log

or:


> `[00:12:15] [Server thread/ERROR] [FML/]: The following problems were captured during this phase
> [00:12:15] [Server thread/ERROR] [FML/]: Caught exception from traincraft
> java.lang.NoClassDefFoundError: net/minecraft/client/gui/inventory/GuiContainer
> 	at train.Traincraft.postInit(Traincraft.java:271) ~[Traincraft.class:?]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_321]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) ~[FMLModContainer.class:?]
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) ~[?:?]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
> 	at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) ~[LoadController.class:?]
> 	at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) ~[LoadController.class:?]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_321]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
> 	at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?]
> 	at cpw.mods.fml.common.Loader.initializeMods(Loader.java:742) [Loader.class:?]
> 	at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:97) [FMLServerHandler.class:?]
> 	at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:319) [FMLCommonHandler.class:?]
> 	at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:210) [lt.class:?]
> 	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:387) [MinecraftServer.class:?]
> 	at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [li.class:?]
> Caused by: java.lang.ClassNotFoundException: net.minecraft.client.gui.inventory.GuiContainer
> 	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:101) ~[launchwrapper-1.12.jar:?]
> 	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_321]
> 	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_321]
> 	... 32 more
> [00:12:15] [Server thread/ERROR] [FML/]: Caught exception from trainsinmotion
> java.lang.NoClassDefFoundError: net/minecraft/client/gui/inventory/GuiContainer
> 	at ebf.tim.TrainsInMotion.postinit(TrainsInMotion.java:203) ~[TrainsInMotion.class:?]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_321]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) ~[FMLModContainer.class:?]
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) ~[?:?]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
> 	at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) ~[LoadController.class:?]
> 	at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) ~[LoadController.class:?]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_321]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_321]
> 	at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?]
> 	at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?]
> 	at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?]
> 	at cpw.mods.fml.common.Loader.initializeMods(Loader.java:742) [Loader.class:?]
> 	at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:97) [FMLServerHandler.class:?]
> 	at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:319) [FMLCommonHandler.class:?]
> 	at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:210) [lt.class:?]
> 	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:387) [MinecraftServer.class:?]
> 	at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [li.class:?]
> Caused by: java.lang.ClassNotFoundException: net.minecraft.client.gui.inventory.GuiContainer
> 	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:101) ~[launchwrapper-1.12.jar:?]
> 	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_321]
> 	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_321]
> 	... 32 more`

If there is any solution in this matter, please let me know. Thank you for your excellent work o n this excellent mod. I really, really like it so much (although a hefty package - the 4.4.1 version)!

commented

it should be fixed on the newer git builds.
If you go to the actions tab, pick a build, it will be in the artifacts.
it will be a zip file, just extract that, don't use the src file if it has one.

I was planning to hold off on updating the CF builds of 5.0 till i have 1.12 working properly, since there are some things that are getting ported back and forth between the builds.
(there's git builds for 1.12 too, same place)

commented

Thank you for your answer.

I tried two 1.7-TiM builds over there, the two most recent (239 and 234).

But I receive the same issue during startup of the server (client meanwhile running fine) and the same error log, unfortunatly.

I will test more extensively soon.

commented

interesting, thanks for the feedback, i'll have to stick this on my priority list to get fixed.

commented
commented

So, I've done extensive testing. I pinpointed the error; a mod conflict with NEI.

Very (!) long story short (yes, every step and log-file was here but I deleted it to save you some of your lifetime :-) ):
using TrainCraft 5.0.4 build 239 (the latest on the git) on FML (server version 10.13.4.1614), clean install (no previous world, no configs, no single other mod): working fine at server startup.

Add in 'Not Enough Items' v. 1.0.5.120-uni , plus it's dependence 'CodeChickenCore' v. 1.0.7.48-uni (plus FML auto downloaded 'CodeChickenLib' v. 1.1.3.141-uni) makes the error appear. I have included logs:
fml-junk-earlystartup.log
fml-server-latest.log
latest.log
crash-2022-03-14_13.29.05-server.txt

FYI, I got my NEI from:
https://www.curseforge.com/minecraft/mc-mods/notenoughitems/files/all?filter-game-version=2020709689%3A4449
and CodeChickenCre from:
https://www.curseforge.com/minecraft/mc-mods/codechickencore/files/all?filter-game-version=2020709689%3A4449
(They are the latest release builds and pretty popular in usage)

I am not sure if this is helpfull to you. Please don't think I am pressuring you in any way into fixing this issue. But if a solution would come up one day, to have a server-capable TrainCraft 5 build for MC 1.7.10 with NEI loaded, I'm all ears! We dig trains so very much over at our server, have done so for many years now: TrainCraft 5 would be the best of them all at this stage (better then stevescarts, Railcraft, ImmersiveRailroading, Better Trains, all the carts addons, Zora No Desha or Traincraft 4). TC5 looked so good in single player test.

Anyways, if you want you can close this ticket. But if possible, I'd like to still get a reply (headsup) if a fix would arise one day, if not too much asked.

Thank you for all your work, creativity and your replies so far. Greetings from us, a bunch of adults playing heavily modded MC for many years now, over in the Netherlands.

commented

P.S. I startup my server using arguments:

java -Xmx4G -Xms4G -Xmn1G -XX:+UseG1GC -Dsun.rmi.dgc.server.gcInterval=2147483646 -XX:+UnlockExperimentalVMOptions -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -Dfml.queryResult=confirm -Duser.language=en -jar forge-1.7.10-10.13.4.1614-1.7.10-universal.jar nogui
Pause

changing this into:

java -Xmx4G -Xms4G -Xmn1G -jar forge-1.7.10-10.13.4.1614-1.7.10-universal.jar nogui
Pause

made no difference either.

commented

Hi there!
From my experience is NEI only client side, I believe that JEI is both client side and server side, but that depends.
In theory NEI should work without the server side mod.

commented

I will do (try) so; to have no NEI on the server running.

Thank you for your answer!

commented

That seemed to have worked indeed, at the expense of another mod.

Using my modpack, I deleted NEI plus addons (ThaumicNEIPlugin, NEIaddons, NEIIntegration, NotEnoughEnergistics) from the test-server and added TC5-239, but was errored due to the mod 'Translocators' ( https://www.curseforge.com/minecraft/mc-mods/translocators ), which has a hard dependancy for NEI to run server-side.

I deleted 'Translocator 1.1.2.16' from server too; the server does startup and run fine.

Starting up my client and logging in to said (test-)server runs ok, with full NEI support. But no translocators-mod capability if connected to test-server (obviously, as it has needs server-side resources; it's more then GUI functionality as what NEI does).

Hoping my wife is ok with 'Translocators' not function anymore, as she is fond of them. :-S If I run into marital problems from this point on, I'll let you know... :-D