Applied Energistics 2

Applied Energistics 2

137M Downloads

Seemingly Random Crash: Invalid Access to Networked Storage API detected.

myrriad opened this issue ยท 4 comments

commented

https://pastebin.com/5FKF0jrh
(summary)
Describe the bug
To Reproduce
I was literally just running around when I was hit by this crash, so I definitely do not know how to reproduce it.

I got the exception,
Caused by: java.lang.IllegalStateException: Invalid Access to Networked Storage API detected.

Expected behavior
No crash

Additional context

https://pastebin.com/5FKF0jrh

My AE network is: 10 storage buses connected to 9 Actually Additions crates and 1 RFTools Modular Storage; 1 unconnected P2P tunnel.

Environment

  • Minecraft Version: 1.12
  • AE2 Version: rv6-stable-1
  • Forge Version: 14.23.4.2751

Edit: Modpack: Enigmatica 2 Expert v.1.39a

commented

Can you please try and reproduce it with a smaller modlist? Maybe even replace the inventories with vanilla chests, when possible?

commented

Can you please remove this unloader mod and try again?

commented

Actually, my modpack (Enigmatica 2 Expert) has neither Optifine nor TickDynamic.

I took a look at that bug report, and I was also moving away from my base. I have also not experienced a second crash after unloading my base.

commented

I suspected TickDynamic because some blocks / entities may skip a tick rather than dropping the games tick rate, which I felt it might be incompatible, but that was before reviewing the code myself. The ArrayDeque is private, so there should be no access from anything outside the class, it is a very short class, and the only time something is popped off the array, is later in a function where something is pushed into it. So the bug I had doesn't even seem possible to me. In the case of this bug, the ArrayDeque is static so there is only one shared among any possible instances of the class. If another instance were to add something to the ArrayDeque from a different thread, while in that function I mentioned, it could lead to this crash, and I haven't read enough code to rule that out.

Here's the relevant code if anyone wants to skip right to it.