-
Type:
Bug
-
Resolution: Gone away
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Service Arch
-
ALL
-
4
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
-
None
It's possible for the following to happen:
1. Service acquires mutex mx and invokes some cleanup work.
2. As part of cleanup, call setError on owned promises.
3. AsyncTryUntilWithDelay::runImpl reaches the end of an iteration and invokes shouldStopIteration inline, but shouldStopIteration also acquires mx.
4. We get a deadlock because the service is unable to finish the cleanup work while holding the mutex, but AsyncTryUntilWithDelay is stuck waiting on the mutex.