Double Slabs

Double Slabs

5M Downloads

Breaking and placing full double slab block very quickly causes game to crash (might be related to WorldEdit)

CerbTheOne opened this issue ยท 2 comments

commented

I discovered this bug when playing on a personal modpack. It appears to be something related to replacing a mixed double slab block very quickly. It happened to me once by replacing the block by hand (pressing left and right mouse buttons simultaneously), but I haven't been able to do it again this way with only double slabs and no other mods.
I have been able, however, to reproduce it successfully multiple times by breaking a mixed double slab with a wooden axe when WorldEdit is present. Because it happened for the first time when I was building by hand, I'm unsure whether WorldEdit is related to the bug or if it's merely an easier way to cause it.

How to reproduce:

  • Place two or more mixed double slab blocks adjacent to one other (the amount of blocks placed in a row seems to increase the likelihood of the game crashing);
    image

  • Break one or more of the blocks repeatedly with a wooden axe with WorldEdit present (which instantly breaks and replaces the blocks);
    image

  • Sometimes the game will crash on the first try, but sometimes it will take multiple attempts of breaking the blocks for it to crash.

Anyway, the crash report reads as follows:

// Hey, that tickles! Hehehe!

Time: 14/08/21 18:12
Description: Tesselating block model

java.lang.NullPointerException: Tesselating block model
	at cjminecraft.doubleslabs.client.util.DoubleSlabCulling.shouldSideBeRendered(DoubleSlabCulling.java:409) ~[doubleslabs:3.6.0] {re:mixin,re:classloading}
	at cjminecraft.doubleslabs.client.util.DoubleSlabCulling.shouldSideBeRendered(DoubleSlabCulling.java:248) ~[doubleslabs:3.6.0] {re:mixin,re:classloading}
	at net.minecraft.client.renderer.BlockModelRenderer.handler$zzb000$renderModelSmooth(BlockModelRenderer.java:587) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:doubleslabs.mixins.json:BlockModelRendererMixin,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.BlockModelRenderer.renderModelSmooth(BlockModelRenderer.java) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:doubleslabs.mixins.json:BlockModelRendererMixin,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.renderModelSmooth(ForgeBlockModelRenderer.java:89) ~[forge:?] {re:classloading}
	at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:51) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:doubleslabs.mixins.json:BlockModelRendererMixin,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.BlockRendererDispatcher.renderModel(BlockRendererDispatcher.java:63) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$ChunkRender$RebuildTask.func_228940_a_(ChunkRenderDispatcher.java:527) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$ChunkRender$RebuildTask.func_225618_a_(ChunkRenderDispatcher.java:449) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$ChunkRender.func_228936_k_(ChunkRenderDispatcher.java:383) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.func_228902_a_(ChunkRenderDispatcher.java:164) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.WorldRenderer.func_228437_a_(WorldRenderer.java:847) ~[?:?] {re:classloading,pl:runtimedistcleaner:A,re:mixin,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.WorldRenderer.func_228426_a_(WorldRenderer.java:936) ~[?:?] {re:classloading,pl:runtimedistcleaner:A,re:mixin,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.GameRenderer.func_228378_a_(GameRenderer.java:608) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.GameRenderer.func_195458_a(GameRenderer.java:425) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:976) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(Main.java:184) ~[1.16.5.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_301] {}
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_301] {}
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_301] {}
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_301] {}
	at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) ~[forge-1.16.5-36.2.2.jar:36.2] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {}


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

-- Head --
Thread: Render thread
Stacktrace:
	at cjminecraft.doubleslabs.client.util.DoubleSlabCulling.shouldSideBeRendered(DoubleSlabCulling.java:409) ~[doubleslabs:3.6.0] {re:mixin,re:classloading}
	at cjminecraft.doubleslabs.client.util.DoubleSlabCulling.shouldSideBeRendered(DoubleSlabCulling.java:248) ~[doubleslabs:3.6.0] {re:mixin,re:classloading}
	at net.minecraft.client.renderer.BlockModelRenderer.handler$zzb000$renderModelSmooth(BlockModelRenderer.java:587) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:doubleslabs.mixins.json:BlockModelRendererMixin,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.BlockModelRenderer.renderModelSmooth(BlockModelRenderer.java) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:doubleslabs.mixins.json:BlockModelRendererMixin,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraftforge.client.model.pipeline.ForgeBlockModelRenderer.renderModelSmooth(ForgeBlockModelRenderer.java:89) ~[forge:?] {re:classloading}
-- Block model being tesselated --
Details:
	Block: Block{doubleslabs:double_slab}[waterlogged=false]
	Block location: World: (392,79,-175), Chunk: (at 8,4,1 in 24,-11; contains blocks 384,0,-176 to 399,255,-161), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
	Using AO: true
Stacktrace:
	at net.minecraft.client.renderer.BlockModelRenderer.renderModel(BlockModelRenderer.java:51) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:doubleslabs.mixins.json:BlockModelRendererMixin,pl:mixin:A,pl:runtimedistcleaner:A}


-- Block being tesselated --
Details:
	Block: Block{doubleslabs:double_slab}[waterlogged=false]
	Block location: World: (392,79,-175), Chunk: (at 8,4,1 in 24,-11; contains blocks 384,0,-176 to 399,255,-161), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
Stacktrace:
	at net.minecraft.client.renderer.BlockRendererDispatcher.renderModel(BlockRendererDispatcher.java:63) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$ChunkRender$RebuildTask.func_228940_a_(ChunkRenderDispatcher.java:527) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$ChunkRender$RebuildTask.func_225618_a_(ChunkRenderDispatcher.java:449) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher$ChunkRender.func_228936_k_(ChunkRenderDispatcher.java:383) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.chunk.ChunkRenderDispatcher.func_228902_a_(ChunkRenderDispatcher.java:164) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.WorldRenderer.func_228437_a_(WorldRenderer.java:847) ~[?:?] {re:classloading,pl:runtimedistcleaner:A,re:mixin,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.WorldRenderer.func_228426_a_(WorldRenderer.java:936) ~[?:?] {re:classloading,pl:runtimedistcleaner:A,re:mixin,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.GameRenderer.func_228378_a_(GameRenderer.java:608) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}


-- Affected level --
Details:
	All players: 1 total; [ClientPlayerEntity['CerbTheOne'/177, l='ClientLevel', x=389.80, y=79.00, z=-172.00]]
	Chunk stats: Client Chunk Cache: 841, 550
	Level dimension: minecraft:overworld
	Level spawn location: World: (128,65,-48), Chunk: (at 0,4,0 in 8,-3; contains blocks 128,0,-48 to 143,255,-33), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
	Level time: 14494 game time, 6084 day time
	Server brand: forge
	Server type: Integrated singleplayer server
Stacktrace:
	at net.minecraft.client.world.ClientWorld.func_72914_a(ClientWorld.java:447) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2029) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:623) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(Main.java:184) ~[1.16.5.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_301] {}
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_301] {}
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_301] {}
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_301] {}
	at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) ~[forge-1.16.5-36.2.2.jar:36.2] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {}


-- System Details --
Details:
	Minecraft Version: 1.16.5
	Minecraft Version ID: 1.16.5
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_301, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 463537840 bytes (442 MB) / 1879048192 bytes (1792 MB) up to 3817865216 bytes (3641 MB)
	CPUs: 12
	JVM Flags: 5 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx4096m -Xms4096m -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xms256m
	ModLauncher: 8.0.9+86+master.3cf110c
	ModLauncher launch target: fmlclient
	ModLauncher naming: srg
	ModLauncher services: 
		/mixin-0.8.2.jar mixin PLUGINSERVICE 
		/eventbus-4.0.0.jar eventbus PLUGINSERVICE 
		/forge-1.16.5-36.2.2.jar object_holder_definalize PLUGINSERVICE 
		/forge-1.16.5-36.2.2.jar runtime_enum_extender PLUGINSERVICE 
		/accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE 
		/forge-1.16.5-36.2.2.jar capability_inject_definalize PLUGINSERVICE 
		/forge-1.16.5-36.2.2.jar runtimedistcleaner PLUGINSERVICE 
		/mixin-0.8.2.jar mixin TRANSFORMATIONSERVICE 
		/forge-1.16.5-36.2.2.jar fml TRANSFORMATIONSERVICE 
	FML: 36.2
	Forge: net.minecraftforge:36.2.2
	FML Language Providers: 
		[email protected]
		minecraft@1
	Mod List: 
		forge-1.16.5-36.2.2-client.jar                    |Minecraft                     |minecraft                     |1.16.5              |DONE      |Manifest: NOSIGNATURE
		DoubleSlabs-1.16-3.6.0.jar                        |Double Slabs                  |doubleslabs                   |3.6.0               |DONE      |Manifest: NOSIGNATURE
		forge-1.16.5-36.2.2-universal.jar                 |Forge                         |forge                         |36.2.2              |DONE      |Manifest: 22:af:21:d8:19:82:7f:93:94:fe:2b:ac:b7:e4:41:57:68:39:87:b1:a7:5c:c6:44:f9:25:74:21:14:f5:0d:90
		worldedit-mod-7.2.5-dist.jar                      |WorldEdit                     |worldedit                     |7.2.5+57d5ac9       |DONE      |Manifest: NOSIGNATURE
	Crash Report UUID: ce2fb579-1f30-481f-98f3-05cef294b774
	Launched Version: 1.16.5
	Backend library: LWJGL version 3.2.2 build 10
	Backend API: NVIDIA GeForce GTX 1050/PCIe/SSE2 GL version 4.6.0 NVIDIA 471.68, NVIDIA Corporation
	GL Caps: Using framebuffer using OpenGL 3.0
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'forge'
	Type: Client (map_client.txt)
	Graphics mode: fancy
	Resource Packs: 
	Current Language: English (US)
	CPU: 12x Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
commented

I've had this issue with any block copying utility: "WorldEdit", "Structurize" & even the apps MCASelector & Amulet. Sometimes the copied blocks are invisible, with no missing texture render. At all instances interacting with the block causes a crash.

commented

Apologies for the massive delay in responding to this, been a hectic year at university so have only just got round to looking at the issue. It should be fixed in the next version :)