cabaletta / cabaletta/baritone

renderCachedChunks random crash

Open
#327 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
9.2k
Forks
2.1k
Avg merge
4d 3h
Merged PRs (30d)
3

Description

```
java.lang.ArrayIndexOutOfBoundsException: 28
at net.minecraft.world.ChunkCache.getLightForExt(ChunkCache.java:151)
at net.minecraft.world.ChunkCache.getCombinedLight(ChunkCache.java:79)
at net.minecraft.block.Block.getPackedLightmapCoords(Block.java:513)
at net.minecraft.block.state.BlockStateContainer$StateImplementation.getPackedLightmapCoords(BlockStateContainer.java:352)
at net.minecraft.client.renderer.BlockModelRenderer$AmbientOcclusionFace.updateVertexBrightness(BlockModelRenderer.java:351)
at net.minecraft.client.renderer.BlockModelRenderer.renderQuadsSmooth(BlockModelRenderer.java:125)
at net.minecraft.client.renderer.BlockModelRenderer.renderModelSmooth(BlockModelRenderer.java:69)
at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:44)
at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:35)
at net.minecraft.client.renderer.BlockRendererDispatcher.renderBlock(BlockRendererDispatcher.java:75)
at net.minecraft.client.renderer.chunk.RenderChunk.rebuildChunk(RenderChunk.java:198)
at net.minecraft.client.renderer.chunk.ChunkRenderWorker.processTask(ChunkRenderWorker.java:119)
at net.minecraft.client.renderer.chunk.ChunkRenderWorker.run(ChunkRenderWorker.java:47)
at java.lang.Thread.run(Thread.java:748)

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

-- Head --
Thread: Client thread
Stacktrace:
at net.minecraft.world.ChunkCache.getLightForExt(ChunkCache.java:151)
at net.minecraft.world.ChunkCache.getCombinedLight(ChunkCache.java:79)
at net.minecraft.block.Block.getPackedLightmapCoords(Block.java:513)
at net.minecraft.block.state.BlockStateContainer$StateImplementation.getPackedLightmapCoords(BlockStateContainer.java:352)
at net.minecraft.client.renderer.BlockModelRenderer$AmbientOcclusionFace.updateVertexBrightness(BlockModelRenderer.java:351)
at net.minecraft.client.renderer.BlockModelRenderer.renderQuadsSmooth(BlockModelRenderer.java:125)
at net.minecraft.client.renderer.BlockModelRenderer.renderModelSmooth(BlockModelRenderer.java:69)

-- Block model being tesselated --
Details:
Block: minecraft:stone[variant=stone]
Block location: World: (-625,62,392), Chunk: (at 15,3,8 in -40,24; contains blocks -640,0,384 to -625,255,399), Region: (-2,0; contains chunks -64,0 to -33,31, blocks -1024,0,0 to -513,255,511)
Using AO: true
Stacktrace:
at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:44)
at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:35)

-- Block being tesselated --
Details:
Block type: ID #1 (tile.stone // net.minecraft.block.BlockStone)
Block data value: 0 / 0x0 / 0b0000
Block location: World: (-625,62,392), Chunk: (at 15,3,8 in -40,24; contains blocks -640,0,384 to -625,255,399), Region: (-2,0; contains chunks -64,0 to -33,31, blocks -1024,0,0 to -513,255,511)
Stacktrace:
at net.minecraft.client.renderer.BlockRendererDispatcher.renderBlock(BlockRendererDispatcher.java:75)
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with ChunkCache.getLightForExt at ChunkCache.java:151 and trace the callers through getCombinedLight and BlockModelRenderer. Use the reported block location and stack trace to investigate the ArrayIndexOutOfBoundsException; done means the random rendering crash is reproducibly understood and no longer occurs.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.