ViaVersion / ViaBackwards

Allows the connection of older clients to newer server versions for Minecraft servers.
https://hangar.papermc.io/ViaVersion/ViaBackwards
GNU General Public License v3.0
459 stars 86 forks source link

ERROR IN Protocol1_16_1To1_16_2 IN REMAP OF CHUNK_DATA #330

Closed CS-Birb closed 3 years ago

CS-Birb commented 3 years ago

Describe the bug, provide any errors https://paste.gg/p/anonymous/d202af6d88354116baf9e80289d42216

Players on 1.16.1 or lower versions begin crashing upon entering certain chunks. Still trying to identify cause.

How can we reproduce it? Steps to reproduce the behavior:

  1. Login to 1.16.5 server on 1.16.1 or lower.
  2. Load in affected region (Cause not yet identified)
  3. Get disconnected

Expected behaviour Chunk Data is adjusted to 1.16.1 protocol without issue, and doesn't disconnect the client.

Screenshots N/A

ViaVersion Dump: https://dump.viaversion.com/902d8212d7890d50e61ed3f2fffdc10e6ff323b8a2c664f4b4bacb4119cf0363

Additional server info Waterfall (Bungee Fork) 1.16.5 Purpur Servers. This issue so far only occurs on a single world on one of our servers, but we've yet to identify the impacted chunk.

Checklist

CS-Birb commented 3 years ago

Closing this issue.

Discovered a chunk issue with invalid tile entity data. It appeared to be a lectern that got a tad wonky - ViaBackwards understandably wasn't able to handle this data.

While 1.16.2 clients and higher could load in fine, the chunk in question wouldn't render at all for them - and the following error was in their clients' latest.log when loading the chunk.

[14:59:36] [main/FATAL]: Error executing task on Client
java.lang.NegativeArraySizeException: -1365628765
    at nf.a(PacketBuffer.java:215) ~[nf.class:?]
    at nf.b(PacketBuffer.java:201) ~[nf.class:?]
    at cgo.a(SourceFile:158) ~[cgo.class:?]
    at cgi.a(ChunkSection.java:237) ~[cgi.class:?]
    at cgh.a(SourceFile:586) ~[cgh.class:?]
    at dwr.a(ClientChunkProvider.java:165) ~[dwr.class:?]
    at dwu.a(SourceFile:772) ~[dwu.class:?]
    at pt.a(SChunkDataPacket.java:158) ~[pt.class:?]
    at pt.a(SChunkDataPacket.java:27) ~[pt.class:?]
    at ol.lambda$checkThreadAndEnqueue$0(PacketThreadUtil.java:34) ~[ol.class:?]
    at aob.c(ThreadTaskExecutor.java:172) [aob.class:?]
    at aof.c(SourceFile:23) [aof.class:?]
    at aob.y(ThreadTaskExecutor.java:134) [aob.class:?]
    at aob.bl(ThreadTaskExecutor.java:115) [aob.class:?]
    at djz.e(SourceFile:1015) [djz.class:?]
    at djz.e(SourceFile:681) [djz.class:?]
    at net.minecraft.client.main.Main.main(SourceFile:215) [Main.class:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:159) [launchwrapper-of-2.2.jar:2.2]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:30) [launchwrapper-of-2.2.jar:2.2]

So not a ViaBackwards issue at all.