Industrial Wires

Industrial Wires

10M Downloads

New build 1.7-33 crashes while loading

1234Eldo opened this issue ยท 7 comments

commented

Minecraft crashes when forge gets to Immersive Wires.

"The game crashed whilst there was a severe problem during mod loading that has caused the game to fail
Error: net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Industrial Wires (industrialwires)"

1.7-32 with same mod load loads fine (other than Marx being broke). Striped minecraft down to only most recent IE and Immersive Wires, still crashes while loading.
Minecraft 1.12.2, Forge 2768, Java 1.8.0_191

commented

The full crashlog would be a lot more useful than just the first line, because it's working just fine for me.
What version of IE are you using? I'm using features from fairly recent IE versions and may have forgotten to change the minimum version of IE required, if you are using some outdated version you could try updating.

commented

coming right up, hold a sec
IE 0.12-86

commented

---- Minecraft Crash Report ----

WARNING: coremods are present:
IELoadingPlugin (ImmersiveEngineering-core-0.12-86.jar)
Contact their authors BEFORE contacting forge

// Quite honestly, I wouldn't worry myself about that.

Time: 12/2/18 12:59 PM
Description: There was a severe problem during mod loading that has caused the game to fail

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Industrial Wires (industrialwires)
Caused by: java.lang.NoSuchMethodError: net.minecraft.network.datasync.DataSerializers.registerSerializer(Lnet/minecraft/network/datasync/DataSerializer;)V
at malte0811.industrialwires.IndustrialWires.preInit(IndustrialWires.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:624)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:218)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:196)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:135)
at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:627)
at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:252)
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:466)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:377)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

A detailed walkthrough of the error, its code path and all known details is as follows:

-- System Details --
Details:
Minecraft Version: 1.12.2
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_191, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 185969192 bytes (177 MB) / 402653184 bytes (384 MB) up to 10737418240 bytes (10240 MB)
JVM Flags: 8 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx10G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=16M
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP 9.42 Powered by Forge 14.23.5.2768 6 mods loaded, 6 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored

| State | ID                   | Version      | Source                           | Signature                                |
|:----- |:-------------------- |:------------ |:-------------------------------- |:---------------------------------------- |
| UCH   | minecraft            | 1.12.2       | minecraft.jar                    | None                                     |
| UCH   | mcp                  | 9.42         | minecraft.jar                    | None                                     |
| UCH   | FML                  | 8.0.99.99    | forge-1.12.2-14.23.5.2768.jar    | e3c3d50c7c986df74c645c0ac54639741c90a557 |
| UCH   | forge                | 14.23.5.2768 | forge-1.12.2-14.23.5.2768.jar    | e3c3d50c7c986df74c645c0ac54639741c90a557 |
| UCH   | immersiveengineering | 0.12-86      | ImmersiveEngineering-0.12-86.jar | 4cb49fcde3b43048c9889e0a3d083225da926334 |
| UCEE  | industrialwires      | 1.7-33       | IndustrialWires-1.7-33.jar       | None                                     |

Loaded coremods (and transformers): 

IELoadingPlugin (ImmersiveEngineering-core-0.12-86.jar)
blusunrize.immersiveengineering.common.asm.IEClassTransformer
GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 388.13' Renderer: 'GeForce GTX 1050 Ti/PCIe/SSE2'

commented

Oh great. I think I know what caused this, not sure why it didn't crash when I tested for that exact issue then...

commented

lol, go figure. Very much appreciate your quick response. Kids have been waiting to see the Marx "zap" ores for a while...lol

commented

The fixed build is on CF now. If you are interested in the technical details:
You may know that MC is obfuscated (made harder to reverse-engineer) by Mojang. That's what the MCP is for, it gives names to the things that are called things like "akd" in the files we get from Mojang. In the case of this crash the MCP name was registerSerializer. There's two other issues with a common solution:

  1. Mojang's names for everything changes with each release.
  2. Sometimes names need to be changed mid-version without breaking existing mods.

This is solved by giving each method and field a SRG name: something like func_1245_a (You may have seen these in other crash reports). These stay the same pretty much as long as the method exists.
Now if I had to write my mod in SRG names I would probably either go mad or quit (for hopefully obvious reasons, if you look at what a SRG name looks like). So one of the last steps in building a mod (turning the source code into something you can use) is to automatically replace all the MCP names I used with SRG names. It looks like I somehow managed to cancel the build after there was an output jar, but before it had been "reobfuscated". I've had this happen before, so I usually test for this issue before uploading, but it seems like I somehow started and canceled a build between checking for the issue and uploading...

commented

Works like a charm, tyvm!
I appreciate the explaination. I've looked into modding off and on in the past, but decided I don't understand enough, or have the patience to fight through the constant changes you mentioned, especially with my herd of wee ones at my feet. I've been following the forums about the forge 1.13 attempted build and fully appreciate why things are taking so long. We also play heavily modded Farming Simulator from Giants Software, and I dabble in mods and maps with that game as well, but that is FAR easier to build and maintain. I can't thank the minecraft modders like yourself enough for all your hard work and talent.