Odd infusion crash
IcarussOne opened this issue ยท 1 comments
[Client thread/ERROR] [FML]: Exception caught during firing event net.minecraftforge.fml.common.gameevent.TickEvent$ClientTickEvent@a3342a:
java.lang.NullPointerException: null
at thaumcraft.client.lib.events.RenderEventHandler.clientWorldTick(RenderEventHandler.java:251) ~[RenderEventHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_10_RenderEventHandler_clientWorldTick_ClientTickEvent.invoke(.dynamic) ~[?:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182) [EventBus.class:?]
at net.minecraftforge.fml.common.FMLCommonHandler.onPreClientTick(FMLCommonHandler.java:344) [FMLCommonHandler.class:?]
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1708) [bib.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1098) [bib.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:4614) [bib.class:?]
at net.minecraft.client.main.Main.main(SourceFile:123) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_411]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_411]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_411]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_411]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:100) [NewLaunch.jar:?]
at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129) [NewLaunch.jar:?]
at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) [NewLaunch.jar:?]
Hard to tell exactly what is happening here, but my best guess is that there is a race condition in the handling of the sourceFX
map. It looks like Thaumcraft has multiple places where it checks if the map contains a given essentia source, but then in a separate operation gets it from the map. It's possible for it to pass the initial check for its presence in the map but then have it quickly get removed before it can actually retrieve the essentia source, which will cause problems.