Pianobar freezing after several songs
zoof opened this issue · 16 comments
Subject of the issue
Pianobar freezing after several song
Your environment
- 2020.11.28 from Debian repo
- Debian Bullseye
- your config file
user = user@example.com
password = ******
Steps to reproduce
Start pianobar.
Expected behaviour
Play songs until quit.
Actual behaviour
Freezes after several songs. Cannot quit out of pianobar. ^Z and kill %1
before I can restart.
I am a longtime user of pianobar and this is something that started happening this morning. Maybe Pandora made some changes?
When it freezes, it maxes out CPU for two pianobar
processes.
I’ve seen this too, but I’m not quite sure why it happens. Can you compile pianobar from source without the -DNDEBUG
flag and then run PIANOBAR_DEBUG=7 ./pianobar 2> /tmp/log
and have a look at /tmp/log
?
Will do. It seems to be working fine now but I will plan to run it this way from now on in the hopes of seeing this again.
Currently, it is freezing as soon as I start it. The requested log is at: https://controlc.com/e652fd5f6
It's happening frequently again so I can provide more examples of logs if that would be helpful.
Sorry for the delay. The log is inconclusive unfortunately. Could you obtain a backtrace in gdb please? Here’s a guide: https://wiki.ubuntu.com/Backtrace
Please remove your auth tokens from it before you post it.
It does not seem to be having these problems at the moment. Just to be sure I get the right information once it happens again, should I be first setting the environment variable PIANOBAR_DEBUG=7
?
No, that should not be necessary. The log does not have enough information to track down what is going wrong unfortunately.
It finally seems to have happened again. Maybe you can make something of the gdb output here. If there are any auth tokens, I'm not sure what they are.
I used the script form at the bottom of the wiki page but I also have a manually started one if it would provide better information.
That log unfortunately does not have any backtraces for running threads. Could you try to apply the section “Already running programs” without step four and five when pianobar is stuck?
Thread 2 looks like it’s waiting for some condition, but I can’t see where, because your pianobar
executable does not have debug symbols. Usually I use make CFLAGS="-ggdb -O0"
. Could you try that please?
I've recompiled it but I will have to wait for another bad day -- working fine today.
One thing which may or may not be apparent from the logs that I've supplied so far is that the freezing always happens at song transitions, I believe when a new song has been queued up but will confirm when the opportunity arises.
Finally! I had to skip "(gdb) continue" because it was simply frozen and ctrl-c would not break out of it. The output is here. Hopefully, this time there will be enough information for you.
Can you try using libao’s pulse backend directly instead of through alsa?
That seems to have done the trick. Haven't had any freezes for several months now.