The bug
Unsupported sand/gravel two or more deep, doesn't react to blocks placed on it.
What I expected to happen
The sand to collapse downwards to a solid floor.
What actually happened
The upper sand in the pile basically acted like it was on a solid block.
How to reproduce
Create a new world eg: -8425874089412349429
Find an area with unsupported Sand
131 69 -92 = 2 unsupported
130 69 -92 = 3 unsupported
129 69 -92 = 4 unsupportedPlace a block above each of them and nothing happens
Note
The same thing happens when a collapse of 1 high or more (from the bottom) signals the upper sand of a 2+ unsupported stack alongside it to collapse, that 2+ doesn't, it seems that the supported check only applies to that block and travels sideways and upwards, but NOT downwards.
Optional suggestion
Rather than have these wait to react to a player, consider collapsing them once a player is 1 chunk away, that way they are pre-collapsed without having to wait for a player to trigger them, accidentally or otherwise, without needing to collapse every floating collapsible block occurrence in that world.
Comments 2
Simple test then is supporting block a gravity affected block (Sand/Red Sand/Gravel) - if so test downwards for air/non gravity affected block.
it can propagate downwards as fast as falling sand does outwards and blocks passing the query downwards could ignore another test request for a few ticks unless moved preventing it being triggered by multiple sand* side drops.
Another reason for the optional suggestion above too, loading a chunk visualises those surface gravity blocks and caves etc not supporting them, hence the ideal time to drop them.
If you update the a gravity block that isn't on the bottom of a floating stack, then the block sees a block supporting it.