Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

In theory, waiters can be lost in Mutex #3554

Closed
djspiewak opened this issue Apr 24, 2023 · 4 comments · Fixed by #3555
Closed

In theory, waiters can be lost in Mutex #3554

djspiewak opened this issue Apr 24, 2023 · 4 comments · Fixed by #3555
Labels

Comments

@djspiewak
Copy link
Member

If a waiter is notified at the exact moment that it is canceled, it's possible for that wake-up to be lost, which can leave the overall mutex in an inconsistent state.

@armanbilge
Copy link
Member

I'm not sure if this is all theory, we still have the unexplained non-deterministic Skunk hanging.

@djspiewak
Copy link
Member Author

The Skunk hanging isn't consistent with a failure in Mutex of this nature. The heap dump you gave me from the Skunk failure is internally inconsistent w.r.t. WSTP state. A Mutex failure in this fashion would have resulted in an entirely normal WSTP in a quiescent state, which isn't what we see.

@armanbilge
Copy link
Member

armanbilge commented Apr 24, 2023

The heap dump I gave you wasn't from Skunk at all :) that was experimental polling system stuff hanging in FS2.

I narrowed down the Skunk issues to Mutex in typelevel/skunk#852 (comment).

durban added a commit to durban/cats-effect that referenced this issue Apr 24, 2023
@durban
Copy link
Contributor

durban commented Apr 24, 2023

Definitely not theory, see #3555 at an attempt to fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants