PromyLOPh / pianobar

Console-based pandora.com player
http://6xq.net/pianobar/
Other
1.74k stars 323 forks source link

Several user interactions require ^C and a repeat in order to work #580

Closed ijustlovemath closed 7 years ago

ijustlovemath commented 8 years ago

I'm running 2015.11.22-dev. I've notice that when interacting with pianobar, say to "love" or "ban" a song, I need to press the required key, press ^C, then press the key again in order for it to work. Otherwise it just hangs and prevents the application from doing anything. Not sure where to start on helping debug this, but can provide a stack trace if need be.

PromyLOPh commented 8 years ago

Does that happen for every action involving Pandora’s API (love, ban, search, create/delete station, …)? Have you had a look at the network traffic generated by pianobar?

ijustlovemath commented 8 years ago

I believe just love/ban/tired so far. What should I be looking for in the network traffic?

On Wednesday, March 2, 2016, PromyLOPh notifications@github.com wrote:

Does that happen for every action involving Pandora’s API (love, ban, search, create/delete station, …)? Have you had a look at the network traffic generated by pianobar?

— Reply to this email directly or view it on GitHub https://github.com/PromyLOPh/pianobar/issues/580#issuecomment-191363552.

PromyLOPh commented 8 years ago

If there’s a request sent at all, whether Pandora responds or not.

ijustlovemath commented 8 years ago

Ok I'll run Wireshark and see if I can replicate.

On Wednesday, March 2, 2016, PromyLOPh notifications@github.com wrote:

If there’s a request sent at all, whether Pandora responds or not.

— Reply to this email directly or view it on GitHub https://github.com/PromyLOPh/pianobar/issues/580#issuecomment-191366505.

arizonahanson commented 8 years ago

I am having the same issue on two of three computers. Must hit "+", then ^C, then "+" a second time. Hangs on "(i) Loving song... "

great app BTW

PromyLOPh commented 8 years ago

Please provide more information as requested above. Thanks.

arizonahanson commented 8 years ago

pianobar_tcpdump.txt

here is a tcpdump (my hostname changed to example.com). is the client failing to ACK 1 ?

here it is already playing, I click "+" to fave, it hangs and I stop the tcpdump.

PromyLOPh commented 8 years ago

here is a tcpdump (my hostname changed to example.com). is the client failing to ACK 1 ? If that was the case we’d see retransmissions, but as far as I can tell there are none. Can you generate a backtrace before pressing ^C? Instructions are here: https://wiki.ubuntu.com/Backtrace#Generation – please remove your username/password before posting it in public. Debugging symbols must be enabled. Either install the *-dbg packet of your distribution or compile with make CFLAGS="-ggdb".

scottidler commented 7 years ago

gdb-pianobar.txt gdb-pianobar-copied.txt

I followed the instructions above to the best of my ability. I pressed t (tired) it printed the text but the song kept playing. This is exactly the behaviour expected, however to fully demonstrate it the next step is to press Ctrl-C and then the command, t again. However, Ctrl-C kills the running program. I have included the filed that was "tee"d to as well as the output from my shell which had more than what the file did. I called this file, -copied above. Please let me know if there is something more I can do to help troubleshoot this issue.

PromyLOPh commented 7 years ago

Oh, wait. gdb intercepts SIGINT and pianobar never receives it. Can you execute handle SIGINT nostop noprint pass inside gdb before run and try again? Also, you’re missing debug symbols (see above).