A previous run died without releasing its lock
Snakemake locks the working directory so two runs cannot corrupt each other's outputs. If a run is killed — Ctrl-C, a scheduler timeout, a dropped SSH session — the lock file survives it.
Confirm no other run is genuinely still going, then snakemake --unlock and start again. Only unlock when you are sure nothing else is running; unlocking a live run is how output actually gets corrupted.