The bug
If you tried to test void_air block with execute if/unless block ... command doesn't execute sub-command if the block can be edited. If you place yourself a void_air block with /setblock, the execute command works.This bug exists since void_air and cave_air was introduced in 18w06a.
How to reproduce
/execute if block 1000000 0 0 minecraft:void_air run tellraw @a "Unload block"
→ It fails
/execute unless block 1000000 0 0 minecraft:void_air run tellraw @a "Usable block"
→ It fails
If you test with cave_air, it work if you test in caves or not as expected.