This was a Vault deadlock in the shutdown path, fixed in 0.9.6 with new revocation mechanics, upgrade to 0.9.6 or later. As a workaround for already-stuck instances, run the tidy operation on tokens (vault operator tidy) to clean up expired tokens that were never removed; after upgrading, the revocation loop no longer blocks shutdown. The reporter confirmed the fix resolved it.
Source: https://github.com/hashicorp/vault/issues/4143
Source: https://github.com/hashicorp/vault/issues/4143