Having an execute running as multiple entities will cancel for the rest of the entities if one of these fails.
Steps to reproduce:
- Place down one stone block surrounded by two non-stone blocks
- Place an armor stand on top of each block
- Run the following command while standing on the left of the line:
execute as @e[type=armor_stand,sort=nearest] at @s run setblock ~ ~-1 ~ stone
The expected behavior would be, that it will place stone under the two armor stands on the sides and leave the stone in the middle as is. This is not the case, because a setblock, that doesn't change anything (stone->stone) will fail and cancel the execute. Only one of the two stones got set.
Furthermore, but this belongs to a separate bug-report, the order, that execute processes each entity is in my eyes in reverse. Even though nearest was specified, the further armor stand sets its block first, before the middle one canceled the rest of the execute.