SpongePowered / SpongeForge

A Forge mod that implements SpongeAPI
http://www.spongepowered.org/
MIT License
1.14k stars 306 forks source link

java.lang.IndexOutOfBoundsException: writerIndex(25990) Server Crash #2276

Closed Shybella closed 6 years ago

Shybella commented 6 years ago

I am currently running

Plugins (26): Minecraft, Minecraft Coder Pack, SpongeAPI, SpongeForge, Broadcast, CarrotShop, DailyRewards, EconomyLite, Enjin Minecraft Plugin, GriefPrevention, HuskyCrates, HuskyUI, JobsLite, LuckPerms, MMCRestrict, MagiBridge, NuVotifier, Nucleus, PayDay, Plan, SeriousVote, ServerListPlus, TreeDestroyage, Unity, WorldEdit, spark

Issue Description

Not sure how to reproduce. Randomly happened with players online. I am not even sure if this is a Sponge issue.

https://pastebin.com/raw/W0yzvUf6

Shybella commented 6 years ago

https://pastebin.com/raw/xeeUagKj

Shybella commented 6 years ago

I am not experiencing this anymore. I will close and reopen if the issue comes up again.

Shybella commented 6 years ago

https://pastebin.com/raw/1tFRQTJH

SF: 3311

Aaron1011 commented 6 years ago

@Shybella This will be fixed in the next SpongeForge build.

Surprisingly, this was actually a Vanilla bug. However, it would only be triggered when a large amount of data was stored per chunk (e.g. a large number of block ids in use in a particular chunk).

Shybella commented 6 years ago

https://pastebin.com/raw/0DUUmyJy

Back again on SF: 3328

Aaron1011 commented 6 years ago

Another crash was reported on Discord: https://pastebin.com/EiDSRygE

Aaron1011 commented 6 years ago

@Shybella: I've added some debugging information to the latest SpongeForge build. The next time you get an exception, the stacktrace should tell you the offending chunk.

Shybella commented 6 years ago

I will be placing this on live today. The crash is really rare so it may take some time. Or the chunk rarely gets loaded.

XakepSDK commented 6 years ago

From discord: https://hastebin.com/acekizezek.pl

ryantheleach commented 6 years ago

Some people have been reporting this issue that have JEID installed.

For reference:

https://minecraft.curseforge.com/projects/jeid

JustEnoughIDs is a lightweight mod that removed the block, item, and biome ID limits by using the 1.13 chunk format in 1.12.

https://github.com/DimensionalDevelopment/JustEnoughIDs/tree/master/src/main/java/org/dimdev/jeid

Which mixes into the same classes we do, so things might get a little fuzzy, or maybe our fix for vanilla breaks their mod?

https://github.com/DimensionalDevelopment/JustEnoughIDs/blob/master/src/main/java/org/dimdev/jeid/mixin/core/MixinBlockStateContainer.java

Aaron1011 commented 6 years ago

The endless parade of SPacketChunkData bugs continues:

So far, I've identified three distinct bugs, all of which have the potential to cause this kind of crash:

The last crash is definitely a separate bug - the user is running a build that contains my fix for the first bug, and is not running JustEnoughIDs at all.

ryantheleach commented 6 years ago

@Aaron1011 That vanilla bug might be worth PR'ing to forge, you might get more eyes over it.

Shybella commented 6 years ago

Yeah, it's back everyday now. Nothing abnormal is appearing in the chunks. Most of them are empty normal generated chunks.


Description: Exception ticking world

java.lang.RuntimeException: Exception creating chunk packet for chunk at '2 -345'!
    at net.minecraft.network.play.server.SPacketChunkData.redirect$onExtractChunkData$zja000(SourceFile:547)
    at net.minecraft.network.play.server.SPacketChunkData.<init>(SourceFile:40)
    at net.minecraft.server.management.PlayerChunkMapEntry.func_187272_b(PlayerChunkMapEntry.java:157)
    at net.minecraft.server.management.PlayerChunkMap.func_72693_b(SourceFile:165)
    at net.minecraft.world.WorldServer.func_72835_b(WorldServer.java:227)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:756)
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:396)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IndexOutOfBoundsException: writerIndex(12602) + minWritableBytes(8) exceeds maxCapacity(12605): UnpooledHeapByteBuf(ridx: 0, widx: 12602, cap: 12605/12605)
    at io.netty.buffer.AbstractByteBuf.ensureWritable0(AbstractByteBuf.java:275)
    at io.netty.buffer.AbstractByteBuf.writeLong(AbstractByteBuf.java:1000)
    at net.minecraft.network.PacketBuffer.writeLong(PacketBuffer.java:1069)
    at net.minecraft.network.PacketBuffer.func_186865_a(PacketBuffer.java:128)
    at net.minecraft.world.chunk.BlockStateContainer.func_186009_b(BlockStateContainer.java:126)
    at net.minecraft.network.play.server.SPacketChunkData.func_189555_a(SourceFile:122)
    at net.minecraft.network.play.server.SPacketChunkData.redirect$onExtractChunkData$zja000(SourceFile:545)
    ... 9 more

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Server thread
Stacktrace:
    at net.minecraft.network.play.server.SPacketChunkData.redirect$onExtractChunkData$zja000(SourceFile:547)
    at net.minecraft.network.play.server.SPacketChunkData.<init>(SourceFile:40)
    at net.minecraft.server.management.PlayerChunkMapEntry.func_187272_b(PlayerChunkMapEntry.java:157)
    at net.minecraft.server.management.PlayerChunkMap.func_72693_b(SourceFile:165)
    at net.minecraft.world.WorldServer.func_72835_b(WorldServer.java:227)```
Shybella commented 6 years ago

Happening again in a empty area. This is happening randomly there is not a pattern to the crashes.


Description: Exception ticking world

java.lang.RuntimeException: Exception creating chunk packet for chunk at '-510 574'!
    at net.minecraft.network.play.server.SPacketChunkData.redirect$onExtractChunkData$zja000(SourceFile:547)
    at net.minecraft.network.play.server.SPacketChunkData.<init>(SourceFile:40)
    at net.minecraft.server.management.PlayerChunkMapEntry.func_187272_b(PlayerChunkMapEntry.java:157)
    at net.minecraft.server.management.PlayerChunkMap.func_72693_b(SourceFile:165)
    at net.minecraft.world.WorldServer.func_72835_b(WorldServer.java:227)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:756)
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:396)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IndexOutOfBoundsException: writerIndex(27062) + minWritableBytes(8) exceeds maxCapacity(27065): UnpooledHeapByteBuf(ridx: 0, widx: 27062, cap: 27065/27065)
    at io.netty.buffer.AbstractByteBuf.ensureWritable0(AbstractByteBuf.java:275)
    at io.netty.buffer.AbstractByteBuf.writeLong(AbstractByteBuf.java:1000)
    at net.minecraft.network.PacketBuffer.writeLong(PacketBuffer.java:1069)
    at net.minecraft.network.PacketBuffer.func_186865_a(PacketBuffer.java:128)
    at net.minecraft.world.chunk.BlockStateContainer.func_186009_b(BlockStateContainer.java:126)
    at net.minecraft.network.play.server.SPacketChunkData.func_189555_a(SourceFile:122)
    at net.minecraft.network.play.server.SPacketChunkData.redirect$onExtractChunkData$zja000(SourceFile:545)
    ... 9 more
sfxworks commented 6 years ago

My issue referenced by Shybella seems related.

Aaron1011 commented 6 years ago

@Shybella: Can you upload your entire crash report?

Shybella commented 6 years ago

https://pastebin.com/raw/esyB0zUL

Sent this one because of the phasetracker error others don't have it

Aaron1011 commented 6 years ago

@Shybella: After taking a look at all of the coremods you're running, I didn't find any that even touched the relevant classes (SPacketChunkData and net.minecraft.world.chunk.BlockStateContainer).

At this point, there are two possibilities:

Aaron1011 commented 6 years ago

@Shybella: Are you able to join IRC/Discord to discuss this further?

Shybella commented 6 years ago

Yes, I am XXMINECRAFTGODXX.

Shybella commented 6 years ago

Reference https://github.com/SpongePowered/SpongeForge/issues/2405

phit commented 6 years ago

closing in favor of the newer issue