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
Describe the bug
When using the notifier, deadlock may happen when a cancel is called with the max value of epoch.
To Reproduce
I don't have repro step. I guess it is a timing issue :-(
Desktop (please complete the following information):
OS: Windows
Additional context
When setting the new state, we inc epoch and decr waiter but with a single waiter and epoch at its max value and no "mask", new state will be :
epoch = 0
waiter = 0
mask = 0
while mask should stay the same. Certainly something like this:
Describe the bug
When using the notifier, deadlock may happen when a cancel is called with the max value of epoch.
To Reproduce
I don't have repro step. I guess it is a timing issue :-(
Desktop (please complete the following information):
Additional context
When setting the new state, we inc epoch and decr waiter but with a single waiter and epoch at its max value and no "mask", new state will be :
epoch = 0
waiter = 0
mask = 0
while mask should stay the same. Certainly something like this:
The same issue looks to be present when notify is called while there is a waiter in prepare_wait
The text was updated successfully, but these errors were encountered: