JustEnoughIDs

JustEnoughIDs

13M Downloads

Race condition freezing class loading causing server hang

gabizou opened this issue ยท 3 comments

commented

Just stumbling across this from a user report, but it appears that this line is causing a deadlock in early stages of the game's load time.

The provided log: https://gist.github.com/gabizou/c602c34407d3f2641f22a931614d5cfc#file-gistfile1-txt-L12

points to a Stream operation being executed, and that operation shows up in two individual threads, here and here.

Upon further investigation, I'm questioning why someone would decide it's best to try and parallelize method lookups during class transformation... What do you gain out of it?

commented

I'll be perfectly honest, Zabi was nice enough to help me with that when it came to the potion extension since I'm not as talented with Mixins yet, so he helped me do it in pure ASM. I'll see about making it so it's not done in parallel and see if that possibly stops it (Idk how to test it, I've never personally seen the issue), or even better, port the potion extensions to pure Mixins finally since maybe Mixins 0.8 might help that more

commented

Yeah, that was a derp on my part, I was experimenting with streams and that bit got left behind. That also explains one old bug I had on my standalone patch

commented

I can confirm making it a standard stream resolves the hang on my setup (I was the one with the stack dump)