przemykomo / simple-planes

Planes mod for minecraft forge.
GNU Lesser General Public License v3.0
28 stars 26 forks source link

Multiplayer Crash #16

Closed LegionSkull closed 4 years ago

LegionSkull commented 4 years ago

On my multiplayer Forge 32.0.75 server minecraft 1.16.1 when I or anyone on the server places a plane they cannot join the server beacuse of the never ending crash loop. Everyone who goes near the place where plane was placed gets into this crash loop. I tested if crash occurs on every available version of Simple Planes o 1.16.1 and it does. I asking for a quick answer. Here's a Screenshot of the error that shows up when crashed by the plane: 2020-07-27_20 23 53

przemykomo commented 4 years ago

Could you send a server crashlog?

LegionSkull commented 4 years ago

Could you send a server crashlog?

Sorry maybe I explained it wrong. I meant that only the players that got close enough to the plane are disconnected from the server and cannot join until the plane is deleted.

przemykomo commented 4 years ago

Then send client log and server log.

LegionSkull commented 4 years ago

Here's the server log (It's super long I know. I was joining and getting kicked by the end of the log, On this log I have installed the newest available version back then) 2020-07-27-2.log

przemykomo commented 4 years ago

It looks like an issue with forge itself but @adoxentor could you look at this?

LegionSkull commented 4 years ago

How's the case?

adoxentor commented 4 years ago

we need the client log

LegionSkull commented 4 years ago

we need the client log

Im sending the pack of all my client logs from that day

2020-07-27 client logs.zip

adoxentor commented 4 years ago

please try to update both client and server to the latest version, on the low chance it doesn't work kill all planes in the world on a clock while loading all visited areas, maybe a mod version change broke something.

LegionSkull commented 4 years ago

please try to update both client and server to the latest version, on the low chance it doesn't work kill all planes in the world on a clock while loading all visited areas, maybe a mod version change broke something.

Ok, I will try it and inform you if it didn't work

TheWhoAreYouPerson commented 4 years ago

Our server is a version of Slightly Vanilla Flavoured with a few mods added (notably Simple Planes, AE2, Rats, and Botania).

Only a subset of our players (about half) get a similar io.netty error upon placing a plane, or spawning/loading in a region with a (stationary? haven't tested enough) plane. We can get the player's back in the game if an unaffected player removes the plane before the erroring player comes back.

I should note that only players that are over wifi or across the internet (~2 of our players)experience this, and I've only noticed it once being on the same Ethernet (<1ms ping) (~2 of our players) network as the dedicated server hosting it. Maybe some sort of network timing issue?

Here are the server logs (debug.log and server_latest.log) and the log from a client suffering from this issue client_latest.log. Again, not all of the clients on the server are affected by this issue for some reason. Other ride-able entities like boats and horses seem to be fine, if that is relevant.

I noticed the client log says java.lang.IllegalStateException: Invalid entity data item type for field 10 on entity PlaneEntity['Cherry Furnace Plane'/113327, l='ClientLevel', x=-86.83, y=63.00, z=-307.80]: old=Quaternion[1.0 + 0.0i + 0.0j + 0.0k](class net.minecraft.util.math.vector.Quaternion), new=Optional.empty(class java.util.Optional). If old/new being different is a problem, could that be related to the changes to src/main/java/xyz/przemyk/simpleplanes/handler/PlaneNetworking.java in bbb6f7c that isn't on Curseforge yet?

Edit: I compiled 237fbca (latest at time of writing) and the affected players still experience this. Admittedly my knowledge of Minecraft modding/internals are a bit too lacking to do anything more substantial, but please let me know if there is anything more I can do to help figure this out.

I think the IOOB exception in the screen shot below came from xyz.przemyk.simpleplanes.MathUtil::QUATERNION_SERIALIZER::read ? Still trying to get my tester to run a version of the mod with some extra logging code. I do not see anything weird with the serializer, but again, not familiar enough to know when it would be called.

The specific screen the player gets upon disconnecting is image

They also occasionally get image

przemykomo commented 4 years ago

Closing due to #17 being merged.