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

Question -- does any client work with latest MPD (0.24.0) r.35dc1fc58 -- Failed to parse MPD response #2193

Closed
Corin-EU opened this issue Jan 26, 2025 · 2 comments

Comments

@Corin-EU
Copy link

As I had previously upgraded fmt to v11.1.1, I was unable to build mpd v0.23.16 and after searching through the issues for MPD found from #2189 that I needed to build MPD from after that commit.

Having done that with a a successful build and install I found that various clients would no longer talk to MPD.

So today I have rebuilt and installed all the MPD components, libmpdclient r.08e3c02. mpc r.99b44b4, and mpd r.35dc1fc58.

That has not solved the problem.

MPD is setup to run via a socket /run/mpd/socket

If I use mpc version then I get the successful response

                   mpd version: 0.24.0

Using any other command results in "MPD error: Failed to parse MPD response'"

Using strace mpc status shows that the connection to the socket is made, a response is made, but the client does not recognize the string being sent.

futex(0x7f0b8e806dcc, FUTEX_WAKE_PRIVATE, 2147483647) = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/run/mpd/socket"}, 18) = 0
pselect6(4, [3], [], [3], {tv_sec=30, tv_nsec=0}, NULL) = 1 (in [3], left {tv_sec=29, tv_nsec=999999073})
recvfrom(3, "OK MPD 0.24.0\n", 4096, MSG_DONTWAIT, NULL, NULL) = 14
sendto(3, "command_list_ok_begin\nstatus\ncur"..., 58, MSG_DONTWAIT, NULL, 0) = 58
pselect6(4, [3], [], [3], {tv_sec=30, tv_nsec=0}, NULL) = 1 (in [3], left {tv_sec=29, tv_nsec=999999373})
recvfrom(3, "volume: 100\nrepeat: lastloadedpl"..., 4096, MSG_DONTWAIT, NULL, NULL) = 165
write(2, "MPD error: Failed to parse MPD r"..., 40MPD error: Failed to parse MPD response
) = 40
close(3)                                = 0

As a check, I changed from the socket interface to running on port 6000, but the same problem occurred

"MPD error: Failed to parse MPD response'"

So the question is, is it not yet possible to use any client with the latest MPD (0.24.0) due to some change in the protocol response strings or is this a bug in what strings MPD is sending to the client?

@Corin-EU Corin-EU changed the title Question -- does any client work with latest MPD (0.24.0) r.35dc1fc58? Question -- does any client work with latest MPD (0.24.0) r.35dc1fc58 -- Failed to parse MPD response Jan 26, 2025
@geneticdrift
Copy link
Contributor

Possibly related to #2190

@Corin-EU
Copy link
Author

Corin-EU commented Jan 26, 2025

THANK YOU!

One rogue comma can ruin your whole day (or sometimes cost millions -- US Treasury in 1874, Rogers Communications in 2006, Oakhurst Dairy, Portland ME in 2018).

I removed the inerrant comma from src/command/PlayerCommands.cxx, built and installed, and lo and behold everything is working -- mpc and cantatata (v3.3.0).

 mpc status
 CBS Radio Mystery Theater - 740214 Under Grave Suspicion
 [playing] #1/2   0:04/0:00 (0%)
 volume:100%   repeat: off   random: off   single: off   consume: off 

YOUR correction really needs to be added to the Master branch as soon as possible.

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

No branches or pull requests

2 participants