[Pkg-mpd-maintainers] Bug#936084: mpd: An mpd client can not connect to mpd on port 6600, when mpd.socket is active as a user.

Michel synth17+deb-bugs at gmail.com
Fri Aug 30 00:23:21 BST 2019


Package: mpd
Version: 0.21.13-1
Severity: normal

Dear Maintainer,

After upgrading mpd from 0.21.5-3 to 0.21.13-1. An mpd client could not
connect to mpd on port 6600. Checked to make sure that mpd was still
disabled system wide:

# systemctl is-enabled mpd.service
disabled

# systemctl is-enabled mpd.socket
disabled

As mpd is started at loggin in time with:

[ ! -s ~/.mpd/pid ] && mpd --verbose


Here are the errors shown, by mpd:

Aug 24 16:02 : exception: Failed to bind to '127.0.0.1:6600'
Aug 24 16:02 : exception: nested: Failed to bind socket: Address already in use


Then ran:

# netstat -anptuv | grep :6600
tcp6       0      0 :::6600                 :::*                    LISTEN      1924/systemd


# lsof | grep 6600
systemd    1924                      michel   29u     IPv6              42105       0t0        TCP *:6600 (LISTEN)


Changed the port in ~/.mpd/mpd.conf from 6600 to 6601 to test if could
connect to mpd. Afterwords an mpd client could connect to mpd on port
6601.

With some help from #mpd, Rasi suggested grepping for 6600 in the
.service files:

$ grep -R 6600 /usr/lib/systemd
/usr/lib/systemd/user/mpd.socket:ListenStream=6600


$ grep -R 6600 /etc/systemd
/etc/systemd/user/sockets.target.wants/mpd.socket:ListenStream=6600


With the information above, then trying:

$ systemctl --user disable --now mpd.socket

That tried to disable[Will file another bug report for this.] mpd.socket
and did stop mpd.socket.


Then killed the mpd process and started mpd.service:

$ mpd --kill

$ systemctl --user start mpd.service

A restart of mpd.service also works:

$ systemctl --user restart mpd.service

After either of the above was able to connect to mpd with an
mpd client on port 6600.


Below are the things that where tried to try to figure out what was
going on. 


*NOTE: The following where done without rebooting.

Showing that an mpd client can not connect to mpd on port 6600, when
mpd.socket is active:  


$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 13:02:40 EDT; 23s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
  Process: 3995 ExecStart=/usr/bin/mpd --no-daemon (code=exited, status=0/SUCCESS)
 Main PID: 3995 (code=exited, status=0/SUCCESS)


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 13:02:47 EDT; 20s ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)


We can see that mpd.service and mpd.socket are inactive above. Let's only start
mpd.socket:

$ systemctl --user start mpd.socket


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: active (listening) since Mon 2019-08-26 13:04:56 EDT; 6s ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.socket


$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 13:02:40 EDT; 2min 41s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
  Process: 3995 ExecStart=/usr/bin/mpd --no-daemon (code=exited, status=0/SUCCESS)
 Main PID: 3995 (code=exited, status=0/SUCCESS)


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::6600                 :::*                    LISTEN      1991/systemd


$ ncmpcpp
ncmpcpp: Connection refused


Let's now start mpd.service:

$ systemctl --user start mpd.service


$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 13:06:45 EDT; 6s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
 Main PID: 22901 (mpd)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.service
           └─22901 /usr/bin/mpd --no-daemon


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 13:04:56 EDT; 2min 0s ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.socket


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::6600                 :::*                    LISTEN      1991/systemd


$ ncmpcpp
ncmpcpp: Connection refused

As we can see from above, when mpd.service is started after mpd.socket,
an mpd client can not connect to mpd on port 6600.


Let's now stop mpd.service and mpd.socket and afterwords only start
mpd.service:

$ systemctl --user stop mpd.service
Warning: Stopping mpd.service, but it can still be activated by:
  mpd.socket


$ systemctl --user stop mpd.socket


$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 13:10:47 EDT; 34s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
  Process: 22901 ExecStart=/usr/bin/mpd --no-daemon (code=exited, status=0/SUCCESS)
 Main PID: 22901 (code=exited, status=0/SUCCESS)


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 13:10:52 EDT; 34s ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)


$ systemctl --user start mpd.service


$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 13:13:45 EDT; 9s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
 Main PID: 14644 (mpd)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.service
           └─14644 /usr/bin/mpd --no-daemon


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 13:10:52 EDT; 3min 7s ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 127.0.0.1:6600          0.0.0.0:*               LISTEN      944/mpd


$ ncmpcpp

No errors an mpd client can connect to mpd on port 6600, when
mpd.service is active and mpd.socket is inactive.

It seems that when mpd.socket is active and mpd.service is inactive.
And also, when starting mpd.service after mpd.socket is started. An mpd
client can not connect to mpd on port 6600. After stopping mpd.socket
and then starting mpd.service, an mpd client can connect to mpd on port
6600.


Let's now try to start mpd.socket:

$ systemctl --user start mpd.socket
Job failed. See "journalctl -xe" for details.


# journalctl -xe

Aug 26 13:17:57 x220 systemd[1991]: mpd.socket: Socket service mpd.service already active, refusing.
Aug 26 13:17:57 x220 systemd[1991]: Failed to listen on mpd.socket.
-- Subject: A start job for unit UNIT has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- A start job for unit UNIT has finished with a failure.
--
-- The job identifier is 239 and the job result is failed.


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 13:10:52 EDT; 8min ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)

When mpd.service is active and then trying to start mpd.socket,
mpd.socket fails to start.


Let's try restarting mpd.sockete:

$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 19:26:48 EDT; 18s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
 Main PID: 1936 (mpd)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.service
           └─1936 /usr/bin/mpd --no-daemon


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 19:26:34 EDT; 38s ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.socket


$ systemctl --user restart mpd.socket
Job failed. See "journalctl -xe" for details.


# journalctl -xe

Aug 26 19:27:59 x220 systemd[1925]: mpd.socket: Socket service mpd.service already active, refusing.
Aug 26 19:27:59 x220 systemd[1925]: Failed to listen on mpd.socket.
-- Subject: A start job for unit UNIT has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- A start job for unit UNIT has finished with a failure.
--
-- The job identifier is 17 and the job result is failed.

When mpd.service and mpd.socket are active and then trying to restart
mpd.socket, mpd.socket fails to restart.


Let's now see what happens when we kill the mpd process and only start
mpd.service:

$ mpd --kill


$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 19:27:55 EDT; 5s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
  Process: 1936 ExecStart=/usr/bin/mpd --no-daemon (code=exited, status=0/SUCCESS)
 Main PID: 1936 (code=exited, status=0/SUCCESS)


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 19:26:55 EDT; 1min ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)


$ systemctl --user start mpd.service


$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 19:36:33 EDT; 3s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
 Main PID: 24184 (mpd)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.service
           └─24184 /usr/bin/mpd --no-daemon


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 19:28:33 EDT; 8min ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 127.0.0.1:6600          0.0.0.0:*               LISTEN      24184/mpd


$ ncmpcpp

No errors an mpd client can connect to mpd on port 6600, when
mpd.service is active and mpd.socket is inactive.


Let's restart mpd.service:

$ systemctl --user restart mpd.service


$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 19:37:59 EDT; 8s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
 Main PID: 3403 (mpd)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.service
           └─3403 /usr/bin/mpd --no-daemon


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 19:29:59 EDT; 8min ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 127.0.0.1:6600          0.0.0.0:*               LISTEN      3403/mpd


$ ncmpcpp

No errors an mpd client can connect to mpd on port 6600, after
restarting mpd.service and leaving mpd.socket as inactive.


Doing the following when mpd.socket is active, allows an mpd client to
connect to mpd on port 6600:

$ systemctl --user stop mpd.socket && systemctl --user restart mpd.service


====


*NOTE: The following where done after a reboot.


Right after rebooting and logging in, checked to see if mpd.service and
mpd.socket where active and tried connecting to mpd:

$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 18:51:19 EDT; 4min 52s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
 Main PID: 1975 (mpd)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.service
           └─1975 /usr/bin/mpd --no-daemon


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 18:51:09 EDT; 5min ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.socket


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::6600                 :::*                    LISTEN      1964/systemd


$ ncmpcpp
ncmpcpp: Connection refused


Let's now see if by stopping mpd.socket and leaving mpd.service active,
an mpd client can connect to mpd on port 6600:

$ systemctl --user stop mpd.socket


$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 18:51:19 EDT; 5min ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
 Main PID: 1975 (mpd)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.service
           └─1975 /usr/bin/mpd --no-daemon


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 18:56:31 EDT; 10s ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::6600                 :::*                    LISTEN      1975/mpd


$ ncmpcpp
ncmpcpp: Connection refused


Let's now see if by restarting mpd.service, an mpd client can connect to
mpd on port 6600:

$ systemctl --user restart mpd.service


$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 19:05:35 EDT; 5s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
 Main PID: 3953 (mpd)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.service
           └─3953 /usr/bin/mpd --no-daemon


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 18:56:31 EDT; 9min ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 127.0.0.1:6600          0.0.0.0:*               LISTEN      3953/mpd


$ ncmpcpp

No errors an mpd client can connect to mpd on port 6600, after
restarting mpd.service and leaving mpd.socket is inactive.


Did another reboot to see if by just restarting mpd.service and leaving
mpd.socket active, an mpd client can connect to mpd on port 6600:

$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 19:17:15 EDT; 39s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
 Main PID: 1968 (mpd)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.service
           └─1968 /usr/bin/mpd --no-daemon


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 19:17:01 EDT; 57s ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.socket


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::6600                 :::*                    LISTEN      1957/systemd


$ systemctl --user restart mpd.service


$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 19:18:10 EDT; 3s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
 Main PID: 2331 (mpd)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.service
           └─2331 /usr/bin/mpd --no-daemon


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 19:17:01 EDT; 1min 15s ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.socket


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::6600                 :::*                    LISTEN      1957/systemd


$ ncmpcpp
ncmpcpp: Connection refused


Did another reboot to see if by just restarting mpd.socket and leaving
mpd.service active, an mpd client can connect to mpd on port 6600:

$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 19:26:48 EDT; 18s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
 Main PID: 1936 (mpd)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.service
           └─1936 /usr/bin/mpd --no-daemon


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 19:26:34 EDT; 38s ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.socket


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::6600                 :::*                    LISTEN      1925/systemd


$ systemctl --user restart mpd.socket
Job failed. See "journalctl -xe" for details.


# journalctl -xe

Aug 26 19:27:59 x220 systemd[1925]: mpd.socket: Socket service mpd.service already active, refusing.
Aug 26 19:27:59 x220 systemd[1925]: Failed to listen on mpd.socket.
-- Subject: A start job for unit UNIT has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- A start job for unit UNIT has finished with a failure.
--
-- The job identifier is 17 and the job result is failed.


$ ncmpcpp
ncmpcpp: Connection refused

Restarting mpd.socket failed, but did stop mpd.socket, see the status
below for mpd.socket.


Let's now restart mpd.service:

$ systemctl --user restart mpd.service


$ systemctl --user status mpd.service
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/user/mpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-08-26 19:35:59 EDT; 8s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
           file:///usr/share/doc/mpd/html/user.html
 Main PID: 3403 (mpd)
   CGroup: /user.slice/user-1000.slice/user at 1000.service/mpd.service
           └─3403 /usr/bin/mpd --no-daemon


$ systemctl --user status mpd.socket
● mpd.socket
   Loaded: loaded (/usr/lib/systemd/user/mpd.socket; enabled; vendor preset: enabled)
   Active: inactive (dead) since Mon 2019-08-26 19:27:59 EDT; 8min ago
   Listen: /run/user/1000/mpd/socket (Stream)
           [::]:6600 (Stream)


$ netstat -anptuv | grep :6600
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 127.0.0.1:6600          0.0.0.0:*               LISTEN      3403/mpd


$ ncmpcpp

No errors an mpd client can connect to mpd on port 6600, after
restarting mpd.service and leaving mpd.socket as inactive.

It seems that when mpd.socket is active an mpd client can not connect to
mpd on port 6600. An mpd client can connect to mpd on port 6600 when
mpd.socket is inactive and mpd.service is active. Except when mpd.socket
is started then mpd.service, and then mpd.socket is stopped and
mpd.service is still left active. If we restart mpd.service afterwords,
an mpd client can connect to mpd on port 6600.


Doing the following after logging in, allows an mpd client to connect to
mpd on port 6600:

$ systemctl --user stop mpd.socket && systemctl --user restart mpd.service


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.2.0-2-amd64 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages mpd depends on:
ii  adduser                           3.118
ii  init-system-helpers               1.57
ii  libadplug-2.2.1-0v5               2.2.1+dfsg3-1+b1
ii  libao4                            1.2.2+20180113-1+b1
ii  libasound2                        1.1.8-1
ii  libaudiofile1                     0.3.6-5
ii  libavahi-client3                  0.7-4+b1
ii  libavahi-common3                  0.7-4+b1
ii  libavcodec58                      7:4.1.4-1+b2
ii  libavformat58                     7:4.1.4-1+b2
ii  libavutil56                       7:4.1.4-1+b2
ii  libbz2-1.0                        1.0.6-9.2
ii  libc6                             2.28-10
ii  libcdio-cdda2                     10.2+2.0.0-1+b1
ii  libcdio-paranoia2                 10.2+2.0.0-1+b1
ii  libcdio18                         2.0.0-2
ii  libcurl3-gnutls                   7.65.3-1
ii  libdbus-1-3                       1.12.16-1
ii  libexpat1                         2.2.7-1
ii  libfaad2                          2.8.8-3
ii  libflac8                          1.3.3-1
ii  libfluidsynth1                    1.1.11-4
ii  libgcc1                           1:9.2.1-4
ii  libgcrypt20                       1.8.4-5
ii  libgme0                           0.6.2-1+b1
ii  libicu63                          63.2-2
ii  libid3tag0                        0.15.1b-14
ii  libiso9660-11                     2.0.0-2
ii  libixml10                         1:1.8.4-2
ii  libjack-jackd2-0 [libjack-0.125]  1.9.12~dfsg-2+b1
ii  libjs-sphinxdoc                   1.8.5-3
ii  libmad0                           0.15.1b-10
ii  libmikmod3                        3.3.11.1-4
ii  libmms0                           0.6.4-3
ii  libmodplug1                       1:0.8.9.0-2
ii  libmp3lame0                       3.100-2+b1
ii  libmpcdec6                        2:0.1~r495-1+b2
ii  libmpdclient2                     2.16-1+b1
ii  libmpg123-0                       1.25.11-1
ii  libnfs12                          3.0.0-2
ii  libogg0                           1.3.2-1+b1
ii  libopenal1                        1:1.19.1-1+b1
ii  libopus0                          1.3-1+b1
ii  libpcre3                          2:8.39-12+b1
ii  libpulse0                         12.99.2-1
ii  libsamplerate0                    0.1.9-2
ii  libshout3                         2.4.1-2
ii  libsidplayfp4                     1.8.8-1+b1
ii  libsmbclient                      2:4.9.11+dfsg-1
ii  libsndfile1                       1.0.28-6
ii  libsoxr0                          0.1.2-3
ii  libsqlite3-0                      3.29.0-2
ii  libstdc++6                        9.2.1-4
ii  libsystemd0                       242-4
ii  libupnp13                         1:1.8.4-2
ii  libvorbis0a                       1.3.6-2
ii  libvorbisenc2                     1.3.6-2
ii  libwavpack1                       5.1.0-7
ii  libwildmidi2                      0.4.3-1
ii  libyajl2                          2.1.0-3
ii  libzzip-0-13                      0.13.62-3.2
ii  lsb-base                          11.1.0
ii  zlib1g                            1:1.2.11.dfsg-1+b1

mpd recommends no packages.

Versions of packages mpd suggests:
ii  ario [mpd-client]     1.6-1+b1
ii  avahi-daemon          0.7-4+b1
pn  icecast2              <none>
ii  mpc [mpd-client]      0.32-1+b1
ii  ncmpcpp [mpd-client]  0.8.2-0.1+b1
ii  pulseaudio            12.99.2-1

-- no debconf information


More information about the Pkg-mpd-maintainers mailing list