-
Bug
-
Resolution: Fixed
-
Minecraft 1.8.7, Minecraft 1.8.8, Minecraft 15w31a, Minecraft 15w31b, Minecraft 15w31c, Minecraft 15w33b, Minecraft 15w33c, Minecraft 15w35e, Minecraft 15w36b, Minecraft 15w36c, Minecraft 15w36d, Minecraft 15w37a
-
None
-
Operating System: Linux (amd64) version 3.13.0-55-lowlatency
Java Version: 1.7.0_79, Oracle Corporation
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
-
Confirmed
When ever I load a certain area of my world the attached crash happens.
If the world is started as a server only the client crashes, but the crash report should speak for itself.
Steps to reproduce:
1. Download the attached world file
2. Log into this world
3. Look down
Description: Tesselating block in world java.lang.IndexOutOfBoundsException at java.nio.Buffer.checkIndex(Buffer.java:538) at java.nio.DirectByteBuffer.putFloat(DirectByteBuffer.java:887) at bfd.b(SourceFile:414) at bge.a(SourceFile:225) at bgd.a(SourceFile:67) at bht.b(SourceFile:176) at bhp.a(SourceFile:78) at bho.b(SourceFile:121) at bfr.a(SourceFile:842)
Note that this crash might be environment dependent.
How the world got corrupted like this
I had the world open to LAN and when I left it Minecraft hung (MC-72943). After forcing the process to stop and restarting the crash happened when ever joining the world again.
Search disclaimer
The only unresolved issue I could find which might be related to this one is MC-81252, but it has a completely different stack trace. There is many other issues about the same/similar crashes but as they are resolved I just assume that they have different causes.
Potential Fix
The reason for the exception is that a buffer for rendering overflows.
package net.minecraft.client.renderer; ... public class WorldRenderer { ... private void growBuffer(int p_178983_1_) { LogManager.getLogger().warn("Needed to grow BufferBuilder buffer: Old size " + this.bufferSize * 4 + " bytes, new size " + (this.bufferSize * 4 + p_178983_1_) + " bytes."); this.bufferSize += p_178983_1_ / 4; ByteBuffer var2 = GLAllocation.createDirectByteBuffer(this.bufferSize * 4); this.rawIntBuffer.position(0); var2.asIntBuffer().put(this.rawIntBuffer); this.byteBuffer = var2; this.rawIntBuffer = this.byteBuffer.asIntBuffer(); this.rawFloatBuffer = this.byteBuffer.asFloatBuffer(); } public void setVertexState(WorldRenderer.State p_178993_1_) { this.rawIntBuffer.clear(); // This call causes the crash. Calling growBuffer() when needed fixes the crash for me. this.rawIntBuffer.put(p_178993_1_.func_179013_a()); this.rawBufferIndex = p_178993_1_.getRawBufferIndex(); this.vertexCount = p_178993_1_.getVertexCount(); this.vertexFormat = new VertexFormat(p_178993_1_.func_179016_d()); } ... }
Growing the buffer might be the right fix, but it could also be that the reason why it overflows is a bug in the first place.
- is duplicated by
-
MC-81261 When in a certain area, crashs.
- Resolved
-
MC-81898 crashes every time i join the server
- Resolved
-
MC-89089 Description: Tesselating block in world
- Resolved
-
MC-89110 ---- Minecraft Crash Report ----
- Resolved
-
MC-89321 Tesselating Block in World crash
- Resolved
-
MC-94402 cant even move bofore i get kicked,
- Resolved
-
MC-94403 Crash: java.lang.IndexOutOfBoundsException
- Resolved
- relates to
-
MC-63395 I could not report it by launcher (my game crashed)
- Resolved
-
MC-72943 Game freeze after closing an "Open to LAN" single player world
- Resolved
-
MC-81252 Minecraft crashes repeatedly after entering a single or multiplayer world
- Resolved