abarisain / dmix

A modern MPD Client for Android.
Apache License 2.0
591 stars 198 forks source link

Lack of permissions on the server doesn't show an error message #865

Open nomis opened 5 years ago

nomis commented 5 years ago

If no password is provided, MPDroid can connect and go into a loop in the background sending the idle command. There's no explanation for why it's not working unless you look at the logs:

01-27 10:54:17.752 E/MPDStatusMonitor(25055): Exception caught while looping.
01-27 10:54:17.752 E/MPDStatusMonitor(25055): org.a0z.mpd.exception.MPDException: ACK [4@0] {idle} you don't have permission for "idle"
01-27 10:54:17.752 E/MPDStatusMonitor(25055):   at org.a0z.mpd.connection.MPDConnection$CommandProcessor.read(MPDConnection.java:602)
01-27 10:54:17.752 E/MPDStatusMonitor(25055):   at org.a0z.mpd.connection.MPDConnection$CommandProcessor.call(MPDConnection.java:396)
01-27 10:54:17.752 E/MPDStatusMonitor(25055):   at org.a0z.mpd.connection.MPDConnection$CommandProcessor.call(MPDConnection.java:364)
01-27 10:54:17.752 E/MPDStatusMonitor(25055):   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
01-27 10:54:17.752 E/MPDStatusMonitor(25055):   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
01-27 10:54:17.752 E/MPDStatusMonitor(25055):   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
01-27 10:54:17.752 E/MPDStatusMonitor(25055):   at java.lang.Thread.run(Thread.java:764)
01-27 10:54:17.753 E/MPDConnectionMonoSocket(25080): Command idle failed after 4 attempts.
01-27 10:54:17.753 E/MPDConnectionMonoSocket(25080): org.a0z.mpd.exception.MPDException: ACK [4@0] {idle} you don't have permission for "idle"
01-27 10:54:17.753 E/MPDConnectionMonoSocket(25080):    at org.a0z.mpd.connection.MPDConnection$CommandProcessor.read(MPDConnection.java:602)
01-27 10:54:17.753 E/MPDConnectionMonoSocket(25080):    at org.a0z.mpd.connection.MPDConnection$CommandProcessor.call(MPDConnection.java:396)
01-27 10:54:17.753 E/MPDConnectionMonoSocket(25080):    at org.a0z.mpd.connection.MPDConnection$CommandProcessor.call(MPDConnection.java:364)
01-27 10:54:17.753 E/MPDConnectionMonoSocket(25080):    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
01-27 10:54:17.753 E/MPDConnectionMonoSocket(25080):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
01-27 10:54:17.753 E/MPDConnectionMonoSocket(25080):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
01-27 10:54:17.753 E/MPDConnectionMonoSocket(25080):    at java.lang.Thread.run(Thread.java:764)
01-27 10:54:17.754 E/MPDStatusMonitor(25080): Exception caught while looping.
01-27 10:54:17.754 E/MPDStatusMonitor(25080): org.a0z.mpd.exception.MPDException: ACK [4@0] {idle} you don't have permission for "idle"
01-27 10:54:17.754 E/MPDStatusMonitor(25080):   at org.a0z.mpd.connection.MPDConnection$CommandProcessor.read(MPDConnection.java:602)
01-27 10:54:17.754 E/MPDStatusMonitor(25080):   at org.a0z.mpd.connection.MPDConnection$CommandProcessor.call(MPDConnection.java:396)
01-27 10:54:17.754 E/MPDStatusMonitor(25080):   at org.a0z.mpd.connection.MPDConnection$CommandProcessor.call(MPDConnection.java:364)
01-27 10:54:17.754 E/MPDStatusMonitor(25080):   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
01-27 10:54:17.754 E/MPDStatusMonitor(25080):   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
01-27 10:54:17.754 E/MPDStatusMonitor(25080):   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
01-27 10:54:17.754 E/MPDStatusMonitor(25080):   at java.lang.Thread.run(Thread.java:764)
01-27 10:54:17.764 E/MPDConnectionMonoSocket(25080): Command idle failed after 4 attempts.
01-27 10:54:17.764 E/MPDConnectionMonoSocket(25080): org.a0z.mpd.exception.MPDException: ACK [4@0] {idle} you don't have permission for "idle"
01-27 10:54:17.764 E/MPDConnectionMonoSocket(25080):    at org.a0z.mpd.connection.MPDConnection$CommandProcessor.read(MPDConnection.java:602)
01-27 10:54:17.764 E/MPDConnectionMonoSocket(25080):    at org.a0z.mpd.connection.MPDConnection$CommandProcessor.call(MPDConnection.java:396)
01-27 10:54:17.764 E/MPDConnectionMonoSocket(25080):    at org.a0z.mpd.connection.MPDConnection$CommandProcessor.call(MPDConnection.java:364)
01-27 10:54:17.764 E/MPDConnectionMonoSocket(25080):    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
01-27 10:54:17.764 E/MPDConnectionMonoSocket(25080):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
01-27 10:54:17.764 E/MPDConnectionMonoSocket(25080):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
01-27 10:54:17.764 E/MPDConnectionMonoSocket(25080):    at java.lang.Thread.run(Thread.java:764)