Intermittent startup crash
codetaylor opened this issue · 4 comments
The Athenaeum util method in the call stack is just delegating to TileEntityFurnace#getItemBurnTime(ItemStack)
.
In the furnace method the item stack is null and causes a NPE.
The event is fired from within the ItemStack
and the stack (this
) is passed to the event. There's no way that the event is being fired with a null stack field, but it is still arriving with a null stack.
This means that the call stack begins with a non-null ItemStack
and ends with a null ItemStack
. This, paired with the intermittent occurrence, leads me to believe that something in another thread is is causing the tooltip event's ItemStack
to occasionally arrive null.
I can't discover the root of the problem; the best I can do here is to mask the symptom with a null check.
This has been patched in 1.4.20
.
Since the root of the problem is unknown, you may experience the crash again with a different mod's tooltip event handler.
In retrospect, the crash could theoretically still occur in this mod even with the patch. If another thread is messing with the event's ItemStack
field, then it's possible that it could still mess with the field between the newly introduced null check and the terminal frame indicated in the stack trace. The only thing the patch prevents is the case where the event arrives at the event handler with a null ItemStack
field.
It's quite possible the patch doesn't prevent the symptoms.
¯\_(ツ)_/¯
Hey Taylor, I did some testing and my theory regarding items being disabled seems to be true, I have BuildCraft installed in my modpack, and as per usual I will disable some of the items present in the mod via its objects.cfg configuration file, doing said task again and disabling a large portion of the items provoked the crash on a newly created client, completely reverting my changes allowed the client to launch perfectly fine again, oddly enough RailCraft's configuration file that does something similar didn't cause any issue, the problem seems to lie with BuildCraft's code.
This was tested on version 1.4.19 of PyroTech, as 1.4.20 hasn't been published to CurseForge as of writing this comment. I'm unaware of whether your patch does anything yet.