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 }}
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
In the rare event that the task is cancelled while sleeping, the lock is not released and the Linearizer becomes stuck.
Can be reproduced by modifying the cancellation test slightly. Cancelling the 2nd task after 1st task releases the lock (instead of before) will make the test get stuck indefinitely:
Once a
Linearizer
task acquires the lock, it does a 0-duration sleep to reset the call stack:synapse/synapse/util/async_helpers.py
Line 466 in 605d161
In the rare event that the task is cancelled while sleeping, the lock is not released and the
Linearizer
becomes stuck.Can be reproduced by modifying the cancellation test slightly. Cancelling the 2nd task after 1st task releases the lock (instead of before) will make the test get stuck indefinitely:
instead of
https://github.com/matrix-org/synapse/blob/release-v1.53/tests/util/test_linearizer.py#L159-L162
The text was updated successfully, but these errors were encountered: