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
Maybe a deadlock between consumer and producer in player.c #1184
Comments
The issue happen in |
I agree since this only started happening for me recently. |
I am not sure but I think the issue might have been solve in pipewire. I tried the above sequences and I got the expected result in both cases. |
The problem is still there. |
I encounter the same bug, reproductible with the following steps:
The interface closes, but it takes several dozens of seconds for cmus to really exit. |
@philippemilink |
Sorry for the late reply. Yes, I'm using pipewire and your workaround fixes the bug. Thanks! |
Getting the same UI freezing with the sequence Also confirming that the other sequences mentioned by @FredericHamel still cause freezing. cmus version: |
@Dano507 |
Thanks for pointing that out @er888kh. My freezing sequence was related to software flow control and |
This patch fixes cmus freezing on exit using both cmus-pulseaudio and pipewire-pulse. Original bug report: cmus/cmus#1184 Patch from: cmus/cmus#1172 Debian: https://salsa.debian.org/multimedia-team/cmus/-/commit/2e20a489bc58a604a0093830d71e43a5ac2b6c51
These are the sequences I do to freeze the cmus.
Sequence 1
Expected result: the track is stop
Actual result: the player is frozen
Sequence 2
Expected result: cmus exits
Actual result: cmus hang. Probably a deadlock between consumer and producer.
Note: cmus exit correctly without freezing if it is in the playing state or stopped state.
I tried to debug the consumer and producer threads, I notice one of the thread was stuck on either a mutex or condition variable.
uname -a
:cmus --version
:cmus --plugins
:The text was updated successfully, but these errors were encountered: