Steps to reproduce:

* Create a datadir that is pruned
* Start with `-prune=550 -reindex-chainstate`
* Hangs with idle CPU

(`-reindex` works)
bool log_syscall_violation_before_terminating{false};
        if (sandbox_arg == "log-and-abort") {
            log_syscall_violation_before_terminating = true;
        } else if (sandbox_arg == "abort") {
            
        } else {
            return InitError(Untranslated("Unknown syscall sandbox mode (-sandbox=<mode>). Available modes are \"log-and-abort\" and \"abort\"."));
        }
        
        const std::vector<std::string> features_using_execve{
            "-alertnotify",
            "-blocknotify",
            "-signer",
            "-startupnotify",
            "-walletnotify",
        };
        for (const std::string& feature_using_execve : features_using_execve) {
            if (!args.GetArg(feature_using_execve, "").empty()) {
                return InitError(Untranslated(strprintf("The experimental syscall sandbox feature (-sandbox=<mode>) is incompatible with %s (which uses execve).", feature_using_execve)));
            }
        }
        if (!SetupSyscallSandbox(log_syscall_violation_before_terminating)) {
            return InitError(Untranslated("Installation of the syscall sandbox failed."));
        }
        LogPrintf("Experimental syscall sandbox enabled (-sandbox=%s): bitcoind will terminate if an unexpected (not allowlisted) syscall is invoked.\n", sandbox_arg);
    }
#endif 
    return true;
}
static bool LockDataDirectory(bool probeOnly)