Submitted by cmichel, also found by walker and gpersoon
The SherXERC20.payOffDebtAll function iterates over all protocols of the token.
If a single project does not have enough funds to cover the premium payments, the transactions come to a halt, see _payOffDebt:
Many core functions require paying off debt first and can therefore revert when a single protocol cannot pay the token premium:
This scenario that a protocol is unable to pay a premium does not seem unlikely especially as there can be many protocols and each protocol can pay premiums in potentially many tokens and have to continuously re-deposit to their account to increase the balance.
It is also rather involved to remove the protocols coverage and remove the premium payments for the token. It requires governance interaction and potentially paying for the accumulated debt themselves.
Evert0x (Sherlock) acknowledged:
