Applied Energistics 2

Applied Energistics 2

137M Downloads

[1.17.1 FABRIC] Server Crash on initializing ME-System

0gp opened this issue ยท 5 comments

commented

Describe the bug

my server often crashes because of AE2. It is a public modpack server.
So I don't know exactly what's happening. But some players described the problem as follows:
If any block in the system changes, the System takes very long to get up again. Sometimes storage doesn't come up. It is an dense Cable where a lot of storage busses are connected. The Storage Busses are connected to Emerald Storage Cabinets. Sometimes I have to cut the cable to the storage and connect it again, to get the items showing up in the system again. But sometimes the server is crashing in this situation.

How to reproduce the bug

build an ME-System, fill a dense cable with storage busses and connect them to Cabinets.
change something in the system, maybe sometimes you will not see the stored items in the system.
disconnect the Dense Cable and connect it again, sometimes the server crashes.

Expected behavior

server should not crash.

Additional details

No response

Which minecraft version are you using?

1.17

On which mod loaders does it happen?

Fabric

Crash log

https://gist.github.com/0gp/cb19f0b7dd9fbff149032f3fa8f96c10

commented

@Mari023 I see at de.mari_023.fabric.ae2wtlib.wct.WCTContainer.sendContentUpdates(WCTContainer.java:142) in the stack trace, is this related to your WCT?

commented

ok thank you, maybe
I will post this crash report in a WCT Issue.

commented

the System takes very long to get up again

I kept repeating in the past to make sure you have enough energy cells in your system, beause the internal storage is limiting the input power

@shartte is this still a thing or are there any protections against power starvation caused shutdowns? (and possible power boot loops)

commented

There is no such protection afaik.

commented

@Mari023 I see at de.mari_023.fabric.ae2wtlib.wct.WCTContainer.sendContentUpdates(WCTContainer.java:142) in the stack trace, is this related to your WCT?

this is indeed my wct, but it calls super.sendContentUpdates() in this line (it extends ItemTerminalMenu)
(relevant code: https://github.com/Mari023/AE2WirelessTerminalLibrary/blob/01b57189e296e5cd3927d1ab40c350ca944321b1/src/main/java/de/mari_023/fabric/ae2wtlib/wct/WCTContainer.java#L142)

it is likely my fault tho.

from that crash it looks like a slot contains a null Itemstack
I don't know which slot, and could either be an ae2 slot, or a slot added by ae2wtlib (in which case it could also be a trinkets slot)
the only slot I know which returns a null Itemstack would be an out of bounds ae2wtlib one
I made this version, which instead throws an exception (and prints the slot id)
It would still crash (if this is the issue), but we would at least know why.

Only the server would need this version.