See PHI2018. An install observed a (Mercurial) commit importing task get stuck after the commit was destroyed.
This is supposed to be handled more gracefully by the "UNREACHABLE" mechanism, but it currently isn't supported in Mercurial:
private function markUnreachableCommits(PhabricatorRepository $repository) { // For now, this is only supported for Git. if (!$repository->isGit()) { return; } ...
This is probably not terribly difficult to implement, but also has very limited impact.
Another caveat here is that if you destroy commits directly in Phabricator's working copy in certain states, it's possible it won't be able to trace ancestry to find all the commits you destroyed in order to mark them unreachable. However, this window is narrow. For Git, you can bin/repository mark-reachable to rebuild reachability if you know you've done a bunch of dangerous mutations to the on-disk state.