Immersive Railroading

Immersive Railroading

3M Downloads

1.12 Java Fatal crash in large mod packs caused by Immersive railroading

mcfilmmakers opened this issue ยท 4 comments

commented

Forge: 14.23.4.2707

For reference, see My Stackoverflow question

I have a large mod pack, a modified version of Sevtech 3.08 which adds several cosmetic mods including Immersive railroading.

However, when adding Immersive Railroading, Java crashes. Please see the above URL for the Minecraft crash message as well as the java crash log.

removing ONLY Immersive Railroading (but Track API and model Loader still loaded), there is no crash.

Of specific interest to you:

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) J 41109 org.lwjgl.opengl.GL11.nglDrawArrays(IIIJ)V (0 bytes) @ 0x000000000af3440e [0x000000000af343c0+0x4e] J 49671% C2 cam72cam.immersiverailroading.render.OBJRender.drawDirectGroups(Ljava/lang/Iterable;D)V (805 bytes) @ 0x000000000c95b624 [0x000000000c95a4c0+0x1164] j cam72cam.immersiverailroading.render.OBJRender.drawDirectGroups(Ljava/lang/Iterable;)V+3 j cam72cam.immersiverailroading.render.OBJRender.drawDirect()V+13 j cam72cam.immersiverailroading.render.OBJRender.lambda$draw$0()V+1 j cam72cam.immersiverailroading.render.OBJRender$$Lambda$5570.run()V+4 j cam72cam.immersiverailroading.render.RenderCacheTimeLimiter.newList(Ljava/lang/Runnable;)I+17 j cam72cam.immersiverailroading.render.OBJRender.draw()V+27 j cam72cam.immersiverailroading.render.StockRenderCache.tryPrimeRenderCache()V+68 j cam72cam.immersiverailroading.render.StockRenderCache.tryPrime()V+0 j cam72cam.immersiverailroading.proxy.ClientProxy.onClientTick(Lnet/minecraftforge/fml/common/gameevent/TickEvent$ClientTickEvent;)V+154 j net.minecraftforge.fml.common.eventhandler.ASMEventHandler_640_ClientProxy_onClientTick_ClientTickEvent.invoke(Lnet/minecraftforge/fml/common/eventhandler/Event;)V+5 J 43918 C2 net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(Lnet/minecraftforge/fml/common/eventhandler/Event;)V (110 bytes) @ 0x000000000b8d113c [0x000000000b8d0fc0+0x17c] J 30277 C2 net.minecraftforge.fml.common.eventhandler.EventBus.post(Lnet/minecraftforge/fml/common/eventhandler/Event;)Z (99 bytes) @ 0x00000000094900ec [0x0000000009490000+0xec] J 48906 C1 net.minecraftforge.fml.common.FMLCommonHandler.onPreClientTick()V (19 bytes) @ 0x000000000b40f9ac [0x000000000b40f640+0x36c] j net.minecraft.client.Minecraft.func_71407_l()V+20 j net.minecraft.client.Minecraft.func_71411_J()V+143 j net.minecraft.client.Minecraft.func_99999_d()V+61 j net.minecraft.client.main.Main.main([Ljava/lang/String;)V+1094 v ~StubRoutines::call_stub j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100 J 2152 C1 sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (10 bytes) @ 0x0000000004bbae0c [0x0000000004bbad00+0x10c] J 2151 C1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x0000000004bbb5b4 [0x0000000004bbb1c0+0x3f4] j net.minecraft.launchwrapper.Launch.launch([Ljava/lang/String;)V+661 j net.minecraft.launchwrapper.Launch.main([Ljava/lang/String;)V+8 v ~StubRoutines::call_stub j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100 j sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+56 j org.multimc.onesix.OneSixLauncher.launchWithMainClass()I+173 j org.multimc.onesix.OneSixLauncher.launch(Lorg/multimc/ParamBucket;)I+67 j org.multimc.EntryPoint.listen()I+160 j org.multimc.EntryPoint.main([Ljava/lang/String;)V+9 v ~StubRoutines::call_stub

This took a LOT of testing. I mean, A LOT. I have launched the game testing Immersive Railorading against every single mod in my pack and it always loads fine in smaller segments (Immersive Railroading + all mods that start with A, Immersive Railroading + all mods that start with B, etc all the way to Z) and there are no issues on these smaller chuncks so it isn't a mod compatibility issue.

This crash exists only in large mod packs (In my case, this happened after loading 353 mods. (loading 335 mods causes no error).

While you may consider this a non-issue for most users, I should point out that it highlights an underlying bug that should be fixed regardless since it causes a crash in Java itself, rather than only in Minecraft.

commented

But it only happens with Immersive Railroading installed. I do have Draconic Evolution included in the pack. Removing Draconic Evolution and adding Immersive Railroading still causes the crash.

RR + pack + DE = crash when creating new world
RR + pack - DE = crash while loading game, cant even get to main menu
Pack - RR = no crash

I will report back my results while using dedicated GPU (radeon 7970)

commented

You can also give http://174.138.127.16/job/Immersive%20Railroading/205/artifact/build/libs/ImmersiveRailroading-1.2.1_1.12-205.jar a try.

That JAR reduces memory consumption drastically and also adds an option to lighten the load on integrated GPUs, textureScale=2

commented

It seems to have helped a little. I was able to load into a new world once out of two attempts.

commented

That's crashing inside the Intel graphics driver dll. It's been mentioned in other crash reports, although I believe they were resolved by updating the drivers, and your SO post claims that drivers are current.

Ah, found it: mezz/JustEnoughItems#723

If your pack includes Draconic Evolution, it would be interesting to know if you get the same crash described above.