MinimServer Forum
Skipping tracks during playback - Printable Version

+- MinimServer Forum (https://forum.minimserver.com)
+-- Forum: MinimServer (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: Skipping tracks during playback (/showthread.php?tid=2810)



Skipping tracks during playback - Mihaylov - 18-12-2015 01:23

Hi Simon!
Some tracks in some albums are not played (skipped). For each skipping track the log file show next:

HTTPConnection: exception while processing HTTP request: java.lang.ArrayIndexOutOfBoundsException: 985
java.lang.ArrayIndexOutOfBoundsException: 985
at org.jminim.lib.HTTPContext.urlDecode(HTTPContext.java:267)
at com.minimserver.ServerRequestHandler.processRequest(ServerRequestHandler.java:68​)
at org.jminim.lib.HTTPConnection$WriterThread.runWriterThread(HTTPConnection.java:4​63)
at org.jminim.lib.HTTPConnection$WriterThread.run(HTTPConnection.java:418)

What does it mean?


RE: Skipping tracks during playback - simoncn - 18-12-2015 10:48

(18-12-2015 01:23)Mihaylov Wrote:  Hi Simon!
Some tracks in some albums are not played (skipped). For each skipping track the log file show next:

HTTPConnection: exception while processing HTTP request: java.lang.ArrayIndexOutOfBoundsException: 985
java.lang.ArrayIndexOutOfBoundsException: 985
at org.jminim.lib.HTTPContext.urlDecode(HTTPContext.java:267)
at com.minimserver.ServerRequestHandler.processRequest(ServerRequestHandler.java:68​)
at org.jminim.lib.HTTPConnection$WriterThread.runWriterThread(HTTPConnection.java:4​63)
at org.jminim.lib.HTTPConnection$WriterThread.run(HTTPConnection.java:418)

What does it mean?

It means the URL for the track has an incorrect format. Perhaps your control point has truncated the URL because it is very long (more than 985 characters).

Please try setting the logging level to Debug before you play one of these tracks. What messages do you see in the log just before this error occurs?


RE: Skipping tracks during playback - Mihaylov - 18-12-2015 21:39

OK. Here is Debug log file (I try to playback one track: Y:\MUSIC 1\поп\ВИА «ВЕСЁЛЫЕ РЕБЯТА» [ДИСКИ] (CD)\ВИА «ВЕСЁЛЫЕ РЕБЯТА» (с) 2007 [КОГДА МОЛЧИМ ВДВОЁМ]\ВИА «ВЕСЁЛЫЕ РЕБЯТА» - Когда молчим вдвоём\01. Алёшкина любовь (С. Дьячков – О. Гаджикасимов запись 1969 г.).flac):

23:06:27.812 Thread-15: Log action: SetLogStart
23:06:27.812 Thread-15: version=1, adapter=192.168.1.14, uriPrefix=http://192.168.1.14:9791/b87024b1-fbab-432e-863f-e1175b3eccc1/Upnp/resource/, clientEndpoint=192.168.1.4:49911
23:06:27.812 Thread-15: StartPosition=83784
23:06:27.812 Thread-15: Log action complete: SetLogStart
23:06:27.828 Thread-16: Log action: GetLogStart
23:06:27.828 Thread-16: version=1, adapter=192.168.1.14, uriPrefix=http://192.168.1.14:9791/b87024b1-fbab-432e-863f-e1175b3eccc1/Upnp/resource/, clientEndpoint=192.168.1.4:49913
23:06:27.828 Thread-16: Log response: GetLogStart
23:06:27.828 Thread-16: StartPosition=83784
23:06:30.359 Thread-9: HTTPService: accepted incoming connection
23:06:30.359 Thread-9: HTTPService: waiting for incoming connection
23:06:30.375 Thread-8: HTTPService: received request, Socket[addr=/192.168.1.6,port=2794,localport=9790]
23:06:30.375 Thread-8: HTTPService: adding connection org.jminim.lib.HTTPConnection@46ca65
23:06:30.375 Thread-472: HTTPConnection: writer thread waiting for request
23:06:30.375 Thread-473: HTTPConnection: reading HTTP request
23:06:30.375 Thread-473: GET /minimserver/*/MUSIC*201/*d0*bf*d0*be*d0*bf/*d0*92*d0*98*d0*90*20*c2*ab*d0*92*d0*95*d0*a1*d0*81*d0*9b*d0*ab*d0*95*20*d0*a0*d​0*95*d0*91*d0*af*d0*a2*d0*90*c2*bb*20*5b*d0*94*d0*98*d0*a1*d0*9a*d0*98*5d*20(CD)​/*d0*92*d0*98*d0*90*20*c2*ab*d0*92*d0*95*d0*a1*d0*81*d0*9b*d0*ab*d0*95*20*d0*a0*d​0*95*d0*91*d0*af*d0*a2*d0*90*c2*bb*20(*d1*81)*202007*20*5b*d0*9a*d0*9e*d0*93*d0*​94*d0*90*20*d0*9c*d0*9e*d0*9b*d0*a7*d0*98*d0*9c*20*d0*92*d0*94*d0*92*d0*9e*d0*81​*d0*9c*5d/*d0*92*d0*98*d0*90*20*c2*ab*d0*92*d0*95*d0*a1*d0*81*d0*9b*d0*ab*d0*95*20*d0*a0*d​0*95*d0*91*d0*af*d0*a2*d0*90*c2*bb*20-*20*d0*9a*d0*be*d0*b3*d0*b4*d0*b0*20*d0*bc*d0*be*d0*bb*d1*87*d0*b8*d0*bc*20*d0*b​2*d0*b4*d0*b2*d0*be*d1*91*d0*bc/01.*20*d0*90*d0*bb*d1*91*d1*88*d0*ba*d0*b8*d0*bd*d0*b0*20*d0*bb*d1*8e*d0*b1*d0*b​e*d0*b2*d1*8c*20(*d0*a1.*20*d0*94*d1*8c*d1*8f*d1*87*d0*ba*d0*be*d0*b2*20*e2*80*9​3*20*d0*9e.*20*d0*93*d0*b0*d0*b4*d0*b6*d0*b8*d0*ba*d0*b0*d1*81*d0*b8*d0*bc*d0*be​*d0*b2*20*d0*b7*d0*b0*d0*bf*d0*b8*d1*81*d1*8c*201969*20*d0*b3.).flac/$!tran HTTP/1.1
23:06:30.375 Thread-473: Host: 192.168.1.14:9790, User-Agent: Linn DS, Connection: close, Icy-MetaData: 1, Range: bytes=0-
23:06:30.375 Thread-473: HTTPConnection: reading HTTP request
23:06:30.375 Thread-472: HTTPConnection: writer thread processing request
23:06:30.375 Thread-472: HTTP/1.1 404 Not Found, Date: Fri, 18 Dec 2015 21:06:30 GMT, Connection: close, Content-Length: 28, Content-Type: text/plain; charset=utf-8
23:06:30.375 Thread-472: Requested resource not found
23:06:30.375 Thread-472: HTTPConnection: completed request; socket=Socket[addr=/192.168.1.6,port=2794,localport=9790], keepAlive=false
23:06:30.375 Thread-472: HTTPConnection: closing Socket[addr=/192.168.1.6,port=2794,localport=9790]
23:06:30.375 Thread-472: HTTPService: removing connection org.jminim.lib.HTTPConnection@46ca65
23:06:30.375 Thread-473: HTTPConnection: connection closed by client
23:06:30.375 Thread-9: HTTPService: accepted incoming connection
23:06:30.375 Thread-9: HTTPService: waiting for incoming connection
23:06:30.375 Thread-8: HTTPService: received request, Socket[addr=/192.168.1.6,port=2795,localport=9790]
23:06:30.375 Thread-8: HTTPService: adding connection org.jminim.lib.HTTPConnection@1cfe3db
23:06:30.375 Thread-474: HTTPConnection: writer thread waiting for request
23:06:30.375 Thread-475: HTTPConnection: reading HTTP request
23:06:30.375 Thread-475: GET /minimserver/*/MUSIC*201/*d0*bf*d0*be*d0*bf/*d0*92*d0*98*d0*90*20*c2*ab*d0*92*d0*95*d0*a1*d0*81*d0*9b*d0*ab*d0*95*20*d0*a0*d​0*95*d0*91*d0*af*d0*a2*d0*90*c2*bb*20*5b*d0*94*d0*98*d0*a1*d0*9a*d0*98*5d*20(CD)​/*d0*92*d0*98*d0*90*20*c2*ab*d0*92*d0*95*d0*a1*d0*81*d0*9b*d0*ab*d0*95*20*d0*a0*d​0*95*d0*91*d0*af*d0*a2*d0*90*c2*bb*20(*d1*81)*202007*20*5b*d0*9a*d0*9e*d0*93*d0*​94*d0*90*20*d0*9c*d0*9e*d0*9b*d0*a7*d0*98*d0*9c*20*d0*92*d0*94*d0*92*d0*9e*d0*81​*d0*9c*5d/*d0*92*d0*98*d0*90*20*c2*ab*d0*92*d0*95*d0*a1*d0*81*d0*9b*d0*ab*d0*95*20*d0*a0*d​0*95*d0*91*d0*af*d0*a2*d0*90*c2*bb*20-*20*d0*9a*d0*be*d0*b3*d0*b4*d0*b0*20*d0*bc*d0*be*d0*bb*d1*87*d0*b8*d0*bc*20*d0*b​2*d0*b4*d0*b2*d0*be*d1*91*d0*bc/01.*20*d0*90*d0*bb*d1*91*d1*88*d0*ba*d0*b8*d0*bd*d0*b0*20*d0*bb*d1*8e*d0*b1*d0*b​e*d0*b2*d1*8c*20(*d0*a1.*20*d0*94*d1*8c*d1*8f*d1*87*d0*ba*d0*be*d0*b2*20*e2*80*9​3*20*d0*9e.*20*d0*93*d0*b0*d0*b4*d0*b6*d0*b8*d0*ba*d0*b0*d1*81*d0*b8*d0*bc*d0*be​*d0*b2*20*d0*b7*d0*b0*d0*bf*d0*b8*d1*81*d1*8c*201969*20*d0*b3.).flac/$!tran HTTP/1.1
23:06:30.375 Thread-475: Host: 192.168.1.14:9790, User-Agent: Linn DS, Connection: close, Icy-MetaData: 1, Range: bytes=0-
23:06:30.375 Thread-475: HTTPConnection: reading HTTP request
23:06:30.375 Thread-474: HTTPConnection: writer thread processing request
23:06:30.375 Thread-474: HTTP/1.1 404 Not Found, Date: Fri, 18 Dec 2015 21:06:30 GMT, Connection: close, Content-Length: 28, Content-Type: text/plain; charset=utf-8
23:06:30.375 Thread-474: Requested resource not found
23:06:30.375 Thread-474: HTTPConnection: completed request; socket=Socket[addr=/192.168.1.6,port=2795,localport=9790], keepAlive=false
23:06:30.375 Thread-474: HTTPConnection: closing Socket[addr=/192.168.1.6,port=2795,localport=9790]
23:06:30.375 Thread-474: HTTPService: removing connection org.jminim.lib.HTTPConnection@1cfe3db
23:06:30.375 Thread-475: HTTPConnection: connection closed by client

Obviously you are right - URL is very long (more than 985 characters). Why? Because of the Cyrillic alphabet?


RE: Skipping tracks during playback - simoncn - 18-12-2015 23:07

(18-12-2015 21:39)Mihaylov Wrote:  Obviously you are right - URL is very long (more than 985 characters). Why? Because of the Cyrillic alphabet?

These URLs are being truncated by the control point. They are very long because MinimServer includes the full file location path in the URL and because each Cyrillic character expands to 3 characters when the URL is encoded into ASCII characters. Can you use a shorter path to the file?

The ArrayIndexOutOfBoundsException is a bug and I will replace it with a meaningful error message in a future update.


RE: Skipping tracks during playback - Mihaylov - 19-12-2015 00:46

Thank you Simon. Yes, I can use shorter path to the files of such albums (for example to remove one folder).


RE: Skipping tracks during playback - simoncn - 03-02-2016 18:31

(18-12-2015 23:07)simoncn Wrote:  These URLs are being truncated by the control point. They are very long because MinimServer includes the full file location path in the URL and because each Cyrillic character expands to 3 characters when the URL is encoded into ASCII characters. Can you use a shorter path to the file?

The ArrayIndexOutOfBoundsException is a bug and I will replace it with a meaningful error message in a future update.

This fix is now available in MinimServer update 76.


RE: Skipping tracks during playback - Mihaylov - 03-02-2016 19:36

(03-02-2016 18:31)simoncn Wrote:  
(18-12-2015 23:07)simoncn Wrote:  These URLs are being truncated by the control point. They are very long because MinimServer includes the full file location path in the URL and because each Cyrillic character expands to 3 characters when the URL is encoded into ASCII characters. Can you use a shorter path to the file?

The ArrayIndexOutOfBoundsException is a bug and I will replace it with a meaningful error message in a future update.

This fix is now available in MinimServer update 76.
Thanks!