[1.14.4] Server crashes on load
alexstratford opened this issue · 5 comments
Description of the issue:
When joining the server it crashes, it appears to be something with the wires as the wire API is in the stacktrace
Crashlog:
https://gist.github.com/alexstratford/4183fad2dceea3e72a6ca670bac80b94
Normal logs, as the crashlog isn't very descriptive: https://gist.github.com/alexstratford/b4dec54c2375e38844684dbbce050e12
Versions & Modlist
Immersive Engineering 0.14-95-c839561b
Forge: 28.2.3 [1.14.4]
Modlist: https://gist.github.com/alexstratford/bbfd616c204b4343e4336e103292234c
Not tested in a minimal instance, however the server was functioning before IE 95-c839561b & Immersive Posts were added. Server still crashed after removing Immersive Posts (The logs are from that crash)
@malte0811 keep in mind using threadsafe lists had funny sidefeects in the past ;) my suggestion is more a patch than a fix
I'm quite sure this isn't threading-related. Tasks are being added while tasks are being processed, which is a standard source for CMEs and makes sense in the context (I think the RS connectors are loading chunks with their output signal).
I always thought a tick is processed linear, so there should be no task added while processing the list ... Just in case, make sure the list is not cleared ANYWHERE, just pop the items one by one after processing them or you will drop tasks with collective clearing
In code this crash really doesnt seem to make sense, since this tasks should only be consumed during network updates while ticking. And ticks shall never happen in an asynchronous call. But on the other end i am unsure how adding a task in an concurrent fashion could possibly cause this. Na suggestion here would be to change the arraylist to something threadsafe