Mojira Archive
MC-123363

Occasional crash when changing blocks with a special renderer that uses states

The bug

In certain cases, the game can crash when a block with a special renderer changes, with an IllegalArgumentException regarding a property that does not exist in a certain block.

For example, with chests:

java.lang.IllegalArgumentException: Cannot get property bbu{name=facing, clazz=class ef, values=[north, east, south, west]} as it does not exist in bbi{block=minecraft:air, properties=[]}
Description: Rendering Block Entity

java.lang.IllegalArgumentException: Cannot get property bbu{name=facing, clazz=class ef, values=[north, east, south, west]} as it does not exist in bbi{block=minecraft:air, properties=[]}
	at bbi$a.c(SourceFile:173)
	at cce.a(SourceFile:70)
	at ccc.a(SourceFile:134)
	at ccc.a(SourceFile:122)
	at cad.a(SourceFile:674)
	at bzx.b(SourceFile:1185)
	at bzx.a(SourceFile:1093)
	at bzx.a(SourceFile:951)
	at bne.b(SourceFile:820)
	at bne.a(SourceFile:380)
	at net.minecraft.client.main.Main.main(SourceFile:140)

How to reproduce

Use the following commands to place and then change a large quantity of chests:

/fill ~-32 ~-.5 ~-32 ~32 ~-.5 ~32 chest
/fill ~-32 ~-.5 ~-32 ~32 ~-.5 ~32 grass_block

Generalizations

This bug is known to affect the following block entities:

  • Chests (and trapped chests and ender chests)
  • Signs
  • Beds
  • Shulker boxes
  • Skulls

It does not seem to affect the following:

  • Daylight detectors (no special renderer)
  • Furnaces (no special renderer)
  • Structures blocks: Use special renderer in 1.12.2 but could not produce crash
  • moving_piston: Apparently not using facing?

Other notes

While /fill is used to consistently reproduce, this same issue has occurred with other cases – usually death. Death temporarily changes all blocks to air during respawning, which would cause this same underlying problem of mismatched blocks (probably). It seems possible to have this happen with fewer chests, it just gets rarer.