Fatal errors with Pixelmon
Anton369 opened this issue ยท 2 comments
When I have Astral Sorcery 1.10.11 installed with Pixelmon 7.0.1, I get frequent Fatal Errors and a variety of errors in the client log. It happens every ~10-30 minutes or so, and it prevents players from joining for about 30-60 seconds. This is happening on a server and it's interesting because when the fatal errors occur it can sometimes kick all of the players off in a "wave," like it kicks one group of players in the same area then other players in a different region. However, after playing on it for ~20 hours, in a 24-hour span it has become worse and now gives me instant fatal errors for up to ~30 minutes each time it happens(not for other players though). A way to fix it was by deleting my .dat file.
I tried to reproduce the issue by running a duplicate of my server and still got the instant fatal errors, unable to join the server at all. Just to check I restarted the server and still got them. Then, after taking out Astral Sorcery I was able to log in and it's been 2 hours without a single fatal error. I've also tried running a fresh forge server with just Pixelmon 7.0.1 and Astral Sorcery 1.10.11 and get the Fatal Errors as well. Have Forge 1.12.2-2811 installed.
Mod list and log: https://pastebin.com/WD3dRxz9 This is me trying to log in multiple times
I've talked with four other server owners that are having the exact same issue and after removing Astral Sorcery or downgrading Pixelmon to 6.3.4 they were able to solve the issue. I've also posted this on the Pixelmon tracker but I was wondering if you guys could be able to trace this and see if the issue is because of something in your mod.
There are some insanely huge packets trying to be sent. It's a pixelmon packet for attempting to read pokemon information, it looks like, but I'm not familiar with how they handle their network code.
"Caused by: java.io.EOFException: fieldSize is too long! Length is 48170, but maximum is 47"
"Caused by: java.lang.NullPointerException"
"NetworkDispatcher exception
io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: readerIndex(71) + length(4) exceeds writerIndex(73): PooledUnsafeDirectByteBuf(ridx: 71, widx: 73, cap: 128)"
Since AS isn't in the stack, I assume something's being ungracefully handled going into the data being transmitted, and having AS present exposes that. Their github hasn't been updated in 7+ years, so I assume it's being hosted elsewhere now, but there's definitely some weird stuff going on.
Also, looks like the current release is still doing closed source stuff, so nothing for us to be able to even look at on that front, because I'm not dragging the mod down into an IDE to attempt to go through it (assuming they stopped obfuscating it).
Without AS even being present, can't even start to look on our side for what might be triggering it. Nothing we can do.