Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.26.1, 0.27.3, 0.28.2
-
None
-
None
Description
The discard logic in RecoverProtocolProcess is problematic. It's likely that doing a 'discard' on the returned 'future' won't cause the RecoverProtocolProcess to terminate.
Right now, this is what we do when reacting to a discard on the returned future:
void discard()
{
terminating = true;
chain.discard();
}
We expect that 'chain' will become terminal and terminate the process in 'finished'. However, it's likely that 'chain' is already terminal (e.g., during retry). As a result, the process might never be terminated.