You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Async: an exception in the lock holder's macrostep leaves other awaiting send() callers pending #686
Regression on main after v3.2.1, found while fixing #678 (PR #685).
On the async engine with catch_errors_as_events=False (the StateMachine default), when a callback raises during the macrostep run by the coroutine that holds the processing lock, the exception propagates to that caller, but futures of other coroutines awaiting send() of events still queued are never resolved, so those callers hang. On v3.2.1 they got an answer.
Expected: when the processing loop exits on an exception, every other awaiting caller gets a definite outcome (the v3.2.1 contract; confirm it by running the same scenario on a v3.2.1 checkout), with timeout-guarded regression tests on both engines.
Activity