Large numbers of scheduled instant updates crash the game. There are multiple ways to reproduce this, however doing /fill is the easiest.
Steps to reproduce:
- do /fill ~~~ ~15 ~15 ~15 flower_pot (or any other block that uses instant updates)
- make sure the fill command doesn't cross a chunk border, since instant updates from commands ignore other chunks
- the game will crash
/fill commands place the blocks first and then processes the updates later.
This means that the instant updates are chained and this chain results in lots of instant updates being scheduled and the game crashing, probably because of a stack overflow error.
This is similar to what happens in java.
It can result in lots of unnecessary crashes when using commands and could be used to crash a server in survival as well.
This cannot simply be fixed by making everything use pendingTicks, since that is simply not possible for blocks like doors, beds and portal tiles without adding some dupe glitches or wierd behaviour.