EternalBlueFlame / Traincraft-5

Traincraft repository for version 1.7.x port.
Other
58 stars 53 forks source link

Fatal crash on startup server-side #648

Open Yorick1234 opened 2 years ago

Yorick1234 commented 2 years ago

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)!

EternalBlueFlame commented 2 years ago

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)

Yorick1234 commented 2 years ago

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.

EternalBlueFlame commented 2 years ago

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

Yorick1234 commented 2 years ago

I'll provide new logs later on. I really want it to work... 😃

Yorick1234 commented 2 years ago

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.

Yorick1234 commented 2 years ago

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.

chiel1112 commented 2 years ago

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.

Yorick1234 commented 2 years ago

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

Thank you for your answer!

Yorick1234 commented 2 years ago

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