Immersive Engineering

Immersive Engineering

134M Downloads

[1.14.4] Server crashes on load

alexstratford opened this issue · 5 comments

commented

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)

commented

@malte0811 keep in mind using threadsafe lists had funny sidefeects in the past ;) my suggestion is more a patch than a fix

commented

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).

commented

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

commented

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

commented

It could possibly be a red stone wire actually, which might try to pull a signal as I have a couple of redstone probes current attached to some capacitors as well as comparitors as the probes couldn’t read it for some reason.