OpenComputers II

OpenComputers II

27.1k Downloads

Crashes upon picking up and placing computer in survival mode

DevBennyturtle opened this issue ยท 3 comments

commented

Hello!
I tried running OC2 and when I picked up a computer with 4 hard drives (1 with linux) and 4 max Memory modules, and placed it down the server crashed
the error log is as follows


Time: 1/30/21 1:00 PM
Description: Exception in server tick loop

java.lang.RuntimeException: Attempted to load class net/minecraft/client/particle/ParticleManager for invalid dist DEDICATED_SERVER
        at net.minecraftforge.fml.loading.RuntimeDistCleaner.processClassWithFlags(RuntimeDistCleaner.java:71) ~[forge.jar:35.1] {}
        at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:85) ~[modlauncher-8.0.9.jar:?] {}
        at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-8.0.9.jar:?] {}
        at cpw.mods.modlauncher.TransformingClassLoader$DelegatedClassLoader.findClass(TransformingClassLoader.java:265) ~[modlauncher-8.0.9.jar:?] {}
        at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:136) ~[modlauncher-8.0.9.jar:?] {re:classloading}
        at cpw.mods.modlauncher.TransformingClassLoader.loadClass(TransformingClassLoader.java:98) ~[modlauncher-8.0.9.jar:?] {re:classloading}
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_275] {}
        at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:1.8.0_275] {}
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[?:1.8.0_275] {}
        at java.lang.Class.privateGetPublicMethods(Class.java:2902) ~[?:1.8.0_275] {}
        at java.lang.Class.getMethods(Class.java:1615) ~[?:1.8.0_275] {}
        at li.cil.oc2.api.bus.device.object.Callbacks.lambda$getMethods$1(Callbacks.java:93) ~[oc2:0.0.1] {re:classloading}
        at java.util.HashMap.computeIfAbsent(HashMap.java:1127) ~[?:1.8.0_275] {}
        at li.cil.oc2.api.bus.device.object.Callbacks.getMethods(Callbacks.java:93) ~[oc2:0.0.1] {re:classloading}
        at li.cil.oc2.api.bus.device.object.Callbacks.hasMethods(Callbacks.java:86) ~[oc2:0.0.1] {re:classloading}
        at li.cil.oc2.common.bus.device.provider.block.BlockStateDeviceProvider.getDevice(BlockStateDeviceProvider.java:27) ~[oc2:0.0.1] {re:classloading}
        at li.cil.oc2.common.bus.device.util.Devices.getDevices(Devices.java:59) ~[oc2:0.0.1] {re:classloading}
        at li.cil.oc2.common.bus.device.util.Devices.getDevices(Devices.java:34) ~[oc2:0.0.1] {re:classloading}
        at li.cil.oc2.common.bus.TileEntityDeviceBusElement.handleNeighborChanged(TileEntityDeviceBusElement.java:96) ~[oc2:0.0.1] {re:classloading}
        at li.cil.oc2.common.bus.TileEntityDeviceBusElement.scanNeighborsForDevices(TileEntityDeviceBusElement.java:133) ~[oc2:0.0.1] {re:classloading}
        at li.cil.oc2.common.bus.TileEntityDeviceBusElement.lambda$initialize$1(TileEntityDeviceBusElement.java:114) ~[oc2:0.0.1] {re:classloading}
        at li.cil.oc2.common.util.ServerScheduler$TickScheduler.processQueue(ServerScheduler.java:194) ~[oc2:0.0.1] {re:classloading}
        at li.cil.oc2.common.util.ServerScheduler$EventHandler.handleWorldTick(ServerScheduler.java:179) ~[oc2:0.0.1] {re:classloading,pl:eventbus:A}
        at net.minecraftforge.eventbus.ASMEventHandler_624_EventHandler_handleWorldTick_WorldTickEvent.invoke(.dynamic) ~[?:?] {}
        at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {}
        at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {}
        at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {}
        at net.minecraftforge.fml.hooks.BasicEventHooks.onPreWorldTick(BasicEventHooks.java:95) ~[forge:?] {re:classloading}
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:847) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:291) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:786) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:641) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:232) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_275] {}

any help would help :P
Side note: would it be possible for me to be a beta tester (to just find all the bugs) for oc2?
I already run a server (that i started 3 days ago) with oc2 on it and wanted to get people into it
although it would be helpful if you could put this on curseforge as my modpack with the mod has been under review for 3 days because (I'm guessing) oc2 is not on curseforge but not a "restricted" mod or similar

commented

Fascinating. I genuinely cannot see how that error is possible. Do you remember what blocks were adjacent to the computer when you placed it again?

As for beta and such, thanks for the offer, but it's still a little early for that. Current state is more like alpha. Things may still radically change. Expect at least another month or two before I'd be comfortable with pushing beta builds to Curse.

commented

Hi, sorry there were only grass blocks but i was using optifine

commented

Hm. Well. One thing that changed since that version is that initialization of the method cache is now properly synchronized. Since I cannot rationally explain this behavior, a threading issue seems likely. So maybe that fixed this as well, even if I can't quite say how.

So I'll warily close this for now. If this happens again in the future (in particular when the mod has stabilized in general), please do re-open this. Thank you.