lishid / Orebfuscator

Orebfuscator - The definitive Anti X-Ray plugin for CraftBukkit
http://dev.bukkit.org/bukkit-plugins/orebfuscator/
GNU General Public License v3.0
115 stars 113 forks source link

java.lang.ArrayIndexOutOfBoundsException #204

Open Chevels opened 5 years ago

Chevels commented 5 years ago

Hi!

Since my server is 1.13.2, I often have this error in my logs:

[00:22:30 ERROR]: ChunkX = -62, chunkZ = 189
[00:22:30 WARN]: java.lang.ArrayIndexOutOfBoundsException
[00:22:30 ERROR]: ChunkX = -64, chunkZ = 190
[00:22:30 WARN]: java.lang.ArrayIndexOutOfBoundsException
[00:22:30 ERROR]: ChunkX = -62, chunkZ = 188
[00:22:30 WARN]: java.lang.ArrayIndexOutOfBoundsException
[00:22:30 ERROR]: ChunkX = -61, chunkZ = 189
[00:22:30 WARN]: java.lang.ArrayIndexOutOfBoundsException
[00:22:30 ERROR]: ChunkX = -61, chunkZ = 188
[00:22:30 WARN]: java.lang.ArrayIndexOutOfBoundsException
[00:22:30 ERROR]: ChunkX = -60, chunkZ = 189
[00:22:30 WARN]: java.lang.ArrayIndexOutOfBoundsException
[00:22:30 ERROR]: ChunkX = -60, chunkZ = 190
[00:22:30 WARN]: java.lang.ArrayIndexOutOfBoundsException

...or this one:

[17:07:59 ERROR]: ChunkX = -64, chunkZ = 190
[17:07:59 WARN]: java.lang.ArrayIndexOutOfBoundsException: 256
[17:07:59 WARN]: at com.lishid.orebfuscator.chunkmap.ChunkMapManager.readSectionHeader(ChunkMapManager.java:369)
[17:07:59 WARN]: at com.lishid.orebfuscator.chunkmap.ChunkMapManager.moveToNextSection(ChunkMapManager.java:341)
[17:07:59 WARN]: at com.lishid.orebfuscator.chunkmap.ChunkMapManager.moveToNextLayer(ChunkMapManager.java:285)
[17:07:59 WARN]: at com.lishid.orebfuscator.chunkmap.ChunkMapManager.readNextBlock(ChunkMapManager.java:246)
[17:07:59 WARN]: at com.lishid.orebfuscator.obfuscation.Calculations.obfuscate(Calculations.java:170)
[17:07:59 WARN]: at com.lishid.orebfuscator.obfuscation.Calculations.obfuscateOrUseCache(Calculations.java:69)
[17:07:59 WARN]: at com.lishid.orebfuscator.hook.ProtocolLibHook$1.onPacketSending(ProtocolLibHook.java:87)
[17:07:59 WARN]: at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195)
[17:07:59 WARN]: at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149)
[17:07:59 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:588)
[17:07:59 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:564)
[17:07:59 WARN]: at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:338)
[17:07:59 WARN]: at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:298)
[17:07:59 WARN]: at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:367)
[17:07:59 WARN]: at com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:66)
[17:07:59 WARN]: at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:332)
[17:07:59 WARN]: at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:302)
[17:07:59 WARN]: at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127)
[
17:07:59 WARN]: at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.NetworkManager.b(NetworkManager.java:194)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.NetworkManager.sendPacket(NetworkManager.java:158)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.PlayerConnection.a(PlayerConnection.java:1398)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.PlayerConnection.sendPacket(PlayerConnection.java:1371)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.PlayerChunk.sendChunk(PlayerChunk.java:121)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.PlayerChunk.a(PlayerChunk.java:63)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.PlayerChunkMap.movePlayer(PlayerChunkMap.java:335)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.PlayerList.updateChunks(PlayerList.java:392)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.PlayerConnection.a(PlayerConnection.java:465)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.PacketPlayInTeleportAccept.a(SourceFile:31)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.PacketPlayInTeleportAccept.a(SourceFile:8)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.PlayerConnectionUtils.a(SourceFile:10)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.PlayerConnectionUtils$$Lambda$3374/220713332.run(Unknown Source)
[17:07:59 WARN]: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[17:07:59 WARN]: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.SystemUtils.a(SourceFile:199)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:900)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:417)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:835)
[17:07:59 WARN]: at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:733)
[17:07:59 WARN]: at java.lang.Thread.run(Thread.java:745)

I confirm the error comes from Orebfuscator because if I remove the plugin the error never occurs (multiple tests over several days).

If you use the ProtocolSupport plugin at the same time, it causes player crashes and even prevents them from connecting to the server. Which is very annoying. This error seems to happen often in the same places of the map (the spawn for example...) yet the map looks healthy and these chunks (see error log) are not corrupted.

Versions: server: git-Spigot-2474d93-e693496 (MC: 1.13.2) (Implementing API version 1.13.2-R0.1-SNAPSHOT) OFC: 4.4.2

ProgrammerDan commented 5 years ago

Thank you for the report. I'm looking into this.

ProgrammerDan commented 5 years ago

Let me know if, upon updating, the issue remains -- wasn't able to reproduce directly

ProgrammerDan commented 5 years ago

Any update? Still a problem on latest (4.4.4)?

jacob1 commented 5 years ago

I'm also seeing this error in the logs, after upgrading my spigot version yesterday (it was 3-4 months since I updated it last). I then upgraded to version 4.4.4 of Orebfuscator to fix that other widely reported problem, now I'm seeing this one.

Seems like the obfuscation isn't working, maybe due to this exception, or maybe I configured it wrong, I notice other things like proximity hider and "AntiTexturePackAndFreecam" do work though (although I use neither normally)

ProgrammerDan commented 5 years ago

Thanks for the report. I really need to get back to this, I apologize for the delay. I suspect it's a limit in one of the translation array matrixes that speeds up orebfuscation, and yes -- it likely does prevent orebfuscation from occurring in the chunk referenced. Thanks for bumping the issue with these reports, my apologies, and thanks for you patience.

On Wed, Feb 27, 2019 at 11:50 PM jacob1 notifications@github.com wrote:

I'm also seeing this error in the logs, after upgrading my spigot version yesterday (it was 3-4 months since I updated it last). I then upgraded to version 4.4.4 of Orebfuscator to fix that other widely reported problem, now I'm seeing this one.

Seems like the obfuscation isn't working, maybe due to this exception, or maybe I configured it wrong, I notice other things like proximity hider and "AntiTexturePackAndFreecam" do work though (although I use neither normally)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lishid/Orebfuscator/issues/204#issuecomment-468136507, or mute the thread https://github.com/notifications/unsubscribe-auth/AAY-jomeZWHIjjh5wvaQisJ9ejOFZVZ7ks5vR2AIgaJpZM4ZbOzr .

Chevels commented 5 years ago

Hi, sorry I had not given any news because, since the 1.13 Orebfuscator generates so many errors and sometimes even prevents the players from connecting that I was forced to disable it (even with Orebfuscator 4.4.4)

I hope I could put it back one day, this plugin has served me so many years without problems and it is so useful.

Thanks for your work !

Chevels commented 5 years ago

As this error randomly prevents players from reconnecting, I think fixing this error is a priority.

Here is an excerpt from the logs when a player can not reconnect:

[03:05:36 INFO]: UUID of player camae_ is *** [03:05:37 ERROR]: ChunkX = -64, chunkZ = 190

[03:05:37 INFO]: camae[/86.235.167.171:52354] logged in with entity id 515595 at ([Heavy]-1006.0338172047025, 113.65240481296405, 2963.8350013939307) [03:05:53 INFO]: camae lost connection: Disconnected [03:05:53 INFO]: camae left the game [03:06:46 INFO]: UUID of player camae is *** [03:06:46 ERROR]: ChunkX = -64, chunkZ = 190

[03:06:46 INFO]: camae[/86.235.167.171:52384] logged in with entity id 516170 at ([Heavy]-1017.1973925039899, 113.48111212969596, 3012.194539142993) [03:06:57 INFO]: camae lost connection: Disconnected [03:06:57 INFO]: camae left the game [03:07:48 INFO]: UUID of player camae is *** [03:07:48 ERROR]: ChunkX = -64, chunkZ = 190

[03:07:49 INFO]: camae[/86.235.167.171:52412] logged in with entity id 516711 at ([Heavy]-1017.5987954282081, 110.9209716168115, 3014.599420281436) [03:07:59 INFO]: camae lost connection: Disconnected [03:07:59 INFO]: camae_ left the game

If a moderator is present we noticed that if we teleport the player quickly on another place of the map it will not be kicked.

Chevels commented 5 years ago

More infos about issue preventing players from reconnecting. Players kicked have these error messages when are kicked: the game crashed whilst tesselating block model error: java.lang.null pointer execption: tesselating block model

...or:

"The game crashed whilst tesselating liquid in world Error: java.lang.NullPointerException: Tesselating liquid in world"

At my request, some players gave me their crash report. I put them here in attached files:

crash-2019-01-11_20.44.55-client (Irondark666).txt crash-2019-01-11_20.48.22-client (Irondark666).txt crash-2019-01-11_21.15.55-client (Irondark666).txt crash-2019-01-11_21.18.04-client (Irondark666).txt crash-2019-01-11_23.34.19-client (Raykaza2003).txt crash-2019-01-12_00.15.51-client (Raykaza2003).txt crash-2019-01-12_00.21.07-client (raykaza2003).txt

ProgrammerDan commented 5 years ago

Thank you for this detailed information!

On Tue, Apr 16, 2019 at 12:46 PM Chevels notifications@github.com wrote:

More infos about issue preventing players from reconnecting. Players kicked have these error messages when are kicked:

the game crashed whilst tesselating block model error: java.lang.null pointer execption: tesselating block model

...or:

"The game crashed whilst tesselating liquid in world Error: java.lang.NullPointerException: Tesselating liquid in world"

At my request, some players gave me their crash report. I put them here in attached files:

crash-2019-01-11_20.44.55-client (Irondark666).txt https://github.com/lishid/Orebfuscator/files/3085963/crash-2019-01-11_20.44.55-client.Irondark666.txt crash-2019-01-11_20.48.22-client (Irondark666).txt https://github.com/lishid/Orebfuscator/files/3085964/crash-2019-01-11_20.48.22-client.Irondark666.txt crash-2019-01-11_21.15.55-client (Irondark666).txt https://github.com/lishid/Orebfuscator/files/3085965/crash-2019-01-11_21.15.55-client.Irondark666.txt crash-2019-01-11_21.18.04-client (Irondark666).txt https://github.com/lishid/Orebfuscator/files/3085966/crash-2019-01-11_21.18.04-client.Irondark666.txt crash-2019-01-11_23.34.19-client (Raykaza2003).txt https://github.com/lishid/Orebfuscator/files/3085967/crash-2019-01-11_23.34.19-client.Raykaza2003.txt crash-2019-01-12_00.15.51-client (Raykaza2003).txt https://github.com/lishid/Orebfuscator/files/3085968/crash-2019-01-12_00.15.51-client.Raykaza2003.txt crash-2019-01-12_00.21.07-client (raykaza2003).txt https://github.com/lishid/Orebfuscator/files/3085969/crash-2019-01-12_00.21.07-client.raykaza2003.txt

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lishid/Orebfuscator/issues/204#issuecomment-483744558, or mute the thread https://github.com/notifications/unsubscribe-auth/AAY-jkR_tmPDrJCJK1otUHVLU9lzYmcPks5vhf5MgaJpZM4ZbOzr .

Chevels commented 5 years ago

That's it, we did tests several times and for 3 months. I do not know what else to do to help fix this problem. I hope this information helps :)

Chevels commented 5 years ago

Hi, any news or is the plugin abandoned? :(

ProgrammerDan commented 5 years ago

Plugin isn't abandoned, technically, but I have had a really hard time finding time to work on it. But I do watch for and respond to tickets and issues.

On Sat, May 25, 2019 at 10:31 AM Chevels notifications@github.com wrote:

Hi, any news or is the plugin abandoned? :(

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lishid/Orebfuscator/issues/204?email_source=notifications&email_token=AADD5DSXZWWJE5PK2SOTBELPXFETHA5CNFSM4GLM5TV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWHS4RA#issuecomment-495922756, or mute the thread https://github.com/notifications/unsubscribe-auth/AADD5DSKO5ZXX5K4YZCANWTPXFETHANCNFSM4GLM5TVQ .

kacperknapik commented 5 years ago

@Chevels can you give me the list of other plugins that you use?

Chevels commented 5 years ago

@kacperknapik Of course ! Sorry for the delay.

I want to clarify that we did tests without any plugins except Orebfuscator and that the problem was still present.

Here is my list of plugins (49): Itemizer, WorldEdit, WDLCompanion, AttackSpeedRemover, OreReplacerPlugin, LogBlock, NBTEditor, PlaceholderAPI, NoFullBrightMining, ClearLag, PlugMan, EnchantmentLock, ForcedGrammar, SmartGiants, LeaderHeadsRevamped, ConsoleSpamFix, WorldGuard, ProtocolLib, Multiverse-Core, EntityDetection, NoCheatPlus, MobFarmManager, PermissionsBukkit, RedstoneClockDetector, CheckNameHistory, ConditionalCommands, RealPlugin, AntiGuest, Vault, ProtocolSupport, PetMaster, afkTerminator, dynmap, War, Essentials, ClientStats, RealTeleporter, Item2Chat, WorldBorder, LWC, CMI, SimplePrefix, PhatLoots, EssentialsAntiBuild, JLib, EssentialsSpawn, WorldGuardExtraFlags, FreeAutoMessage, AsyncWorldEdit.

Thank you !

JohOply commented 5 years ago

I think I have similar issue With Spigot 1.13.2-b2148 + Orebfuscator 4.4.4

[20:12:02 ERROR]: ChunkX = 37, chunkZ = 244
[20:12:02 WARN]: java.lang.ArrayIndexOutOfBoundsException: 256
[20:12:02 WARN]: at com.lishid.orebfuscator.chunkmap.ChunkMapManager.readSectionHeader(ChunkMapManager.java:369)
[20:12:02 WARN]: at com.lishid.orebfuscator.chunkmap.ChunkMapManager.moveToNextSection(ChunkMapManager.java:341)
[20:12:02 WARN]: at com.lishid.orebfuscator.chunkmap.ChunkMapManager.increaseY(ChunkMapManager.java:301)
[20:12:02 WARN]: at com.lishid.orebfuscator.chunkmap.ChunkMapManager.moveToNextLayer(ChunkMapManager.java:274)
[20:12:02 WARN]: at com.lishid.orebfuscator.chunkmap.ChunkMapManager.create(ChunkMapManager.java:90)
[20:12:02 WARN]: at com.lishid.orebfuscator.obfuscation.Calculations.obfuscate(Calculations.java:161)
[20:12:02 WARN]: at com.lishid.orebfuscator.obfuscation.Calculations.obfuscateOrUseCache(Calculations.java:69)
[20:12:02 WARN]: at com.lishid.orebfuscator.hook.ProtocolLibHook$1.onPacketSending(ProtocolLibHook.java:87)
[20:12:02 WARN]: at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195)
[20:12:02 WARN]: at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149)
[20:12:02 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:588)
[20:12:02 WARN]: at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:564)
[20:1
2:02 WARN]: at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:338)
[20:12:02 WARN]: at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:298)
[20:12:02 WARN]: at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:367)
[20:12:02 WARN]: at com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:66)
[20:12:02 WARN]: at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:332)
[20:12:02 WARN]: at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:302)
[20:12:02 WARN]: at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127)
[20:12:02 WARN]: at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95)
[20:12:02 WARN]: at net.minecraft.server.v1_13_R2.NetworkManager.b(NetworkManager.java:193)
[20:12:02 WARN]: at net.minecraft.server.v1_13_R2.NetworkManager.sendPacket(NetworkManager.java:157)
[20:12:02 WARN]: at net.aufdemrand.denizen.nms.impl.packets.handlers.DenizenNetworkManager_v1_13_R2.sendPacket(DenizenNetworkManager_v1_13_R2.java:343)
[20:12:02 WARN]: at net.minecraft.server.v1_13_R2.PlayerConnection.a(PlayerConnection.java:1376)
[20:12:02 WARN]: at net.minecraft.server.v1_13_R2.PlayerConnection.sendPacket(PlayerConnection.java:1349)
[20:12:02 WARN]: at net.aufdemrand.denizen.nms.impl.packets.handlers.AbstractListenerPlayIn_v1_13_R2.sendPacket(AbstractListenerPlayIn_v1_13_R2.java:50)
[20:12:02 WARN]: at net.aufdemrand.denizen.nms.impl.packets.handlers.DenizenPacketListener_v1_13_R2.sendPacket(DenizenPacketListener_v1_13_R2.java:51)
[20:12:02 WARN]: at net.minecraft.server.v1_13_R2.PlayerChunk.a(SourceFile:162)
[20:12:02 WARN]: at net.minecraft.server.v1_13_R2.PlayerChunk.d(SourceFile:186)
[20:12:02 WARN]: at net.minecraft.server.v1_13_R2.PlayerChunkMap.flush(PlayerChunkMap.java:101)
[20:12:02 WARN]: at net.minecraft.server.v1_13_R2.WorldServer.doTick(WorldServer.java:291)
[20:12:02 WARN]: at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:952)
[20:12:02 WARN]: at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:417)
[20:12:02 WARN]: at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:831)
[20:12:02 WARN]: at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:729)
[20:12:02 WARN]: at java.lang.Thread.run(Thread.java:748)
HolographicWings commented 5 years ago

same error on the 1.14.4 version on the commits

ProgrammerDan commented 5 years ago

Thankyou for the reports!

On Thu, Aug 22, 2019, 05:56 HolographicWings notifications@github.com wrote:

same error on the 1.14.4 version on the commits

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lishid/Orebfuscator/issues/204?email_source=notifications&email_token=AADD5DQHAVGOG5K656KCWLTQFZPGRA5CNFSM4GLM5TV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD44RVPI#issuecomment-523836093, or mute the thread https://github.com/notifications/unsubscribe-auth/AADD5DQTLWIHJIANJ3SEMHLQFZPGRANCNFSM4GLM5TVQ .

SlimeDog commented 5 years ago

Same issues. :( Spigot 1.14.4 Orebfuscator 4.4.4

ProgrammerDan commented 5 years ago

:(

On Wed, Aug 28, 2019, 19:15 SlimeDog notifications@github.com wrote:

Same issues. :( Spigot 1.14.4 Orebfuscator 4.4.4

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lishid/Orebfuscator/issues/204?email_source=notifications&email_token=AADD5DX2ILPDJ47BWRLCVY3QG4BH7A5CNFSM4GLM5TV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5MXVYA#issuecomment-525957856, or mute the thread https://github.com/notifications/unsubscribe-auth/AADD5DR5SJOHZLJQXBXSJ63QG4BH7ANCNFSM4GLM5TVQ .

NgLoader commented 5 years ago

https://github.com/lishid/Orebfuscator/pull/236