Post Reply 
Skipping tracks during playback
18-12-2015, 01:23 (This post was last modified: 18-12-2015 01:23 by Mihaylov.)
Post: #1
Skipping tracks during playback
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?
Find all posts by this user
Quote this message in a reply
18-12-2015, 10:48
Post: #2
RE: Skipping tracks during playback
(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?
Find all posts by this user
Quote this message in a reply
18-12-2015, 21:39
Post: #3
RE: Skipping tracks during playback
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?
Find all posts by this user
Quote this message in a reply
18-12-2015, 23:07 (This post was last modified: 18-12-2015 23:09 by simoncn.)
Post: #4
RE: Skipping tracks during playback
(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.
Find all posts by this user
Quote this message in a reply
19-12-2015, 00:46
Post: #5
RE: Skipping tracks during playback
Thank you Simon. Yes, I can use shorter path to the files of such albums (for example to remove one folder).
Find all posts by this user
Quote this message in a reply
03-02-2016, 18:31
Post: #6
RE: Skipping tracks during playback
(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.
Find all posts by this user
Quote this message in a reply
03-02-2016, 19:36
Post: #7
RE: Skipping tracks during playback
(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!
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)