Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
OutofBounds Exception Asustor ARM version
02-05-2017, 12:14
Post: #1
OutofBounds Exception Asustor ARM version
I'm running Minimserver on an ARM Asustor NAS.

On startup, Minimserver always repeatedly fails with an OutofBounds exception (Decoding Failure). It looks like it is parsing the NAS music content, but the failure is not at the same place each time.

If restarted 3 or 4 times, following re-occurence this is then eventually overcome, and the implementation works pretty solidly* for the rest of the session.

(*It will quite often fail again on first access by either of my two control points/renderers, but this is always fixed by a further single restart. )

I've lived with the issue so far, but like Minimserver enough to see if it is fixable.

I can quite easily capture logs at startup, but not sure if debug or trace is the best option?
Find all posts by this user
Quote this message in a reply
02-05-2017, 13:00
Post: #2
RE: OutofBounds Exception Asustor ARM version
Thanks for letting me know about this. I have been trying to track down this intermittent problem for a long time. It is a bug in Java, not MinimServer, and it is very hard to debug because I can do the same thing twice in succession and it might fail one time and work the next time.

What is the exact model of your NAS, and what versions of ADM, MinimServer and Java are you running?

Also, please post the exact error message from the MinimServer log, with the stack trace, the next time it happens.
Find all posts by this user
Quote this message in a reply
02-05-2017, 13:15
Post: #3
RE: OutofBounds Exception Asustor ARM version
Simon,

NAS is an ASUSTOR 1002T

ADM is 2.7.1.RFT5 (the latest, though the same issues occurred on the previous version(s))

Minimserver is 0.8.4 update 99 (and the same comments apply as for ADM)

JRE is 1.8.0_51.1 (the only (ASUSTOR-provided) version that has ever been available during my ownership)

Log extract as follows (if you want more, you'll need to be more specific in your terminology ;-) )

=========

07:58:51.790 main: postVisit: dirPath=/volume1/Media/Music/Al Green - Greatest Hits (Disc 2)
Decoding failure: bytes.length=13 bytes=47726561746573742048697473
java.lang.ArrayIndexOutOfBoundsException: 0
at sun.nio.cs.UTF_8$Decoder.decode(UTF_8.java:441)
at java.lang.StringCoding.decode(StringCoding.java:229)
at java.lang.String.<init>(String.java:451)
at java.lang.String.<init>(String.java:503)
at com.minimserver.Server$IdentityValue.toString(Server.java:8625)
at com.minimserver.Server.titleToString(Server.java:8082)
at com.minimserver.Server.computeAlbumInfoLocations(Server.java:5606)
at com.minimserver.Server.processDir(Server.java:5380)
at com.minimserver.Server.access$6700(Server.java:116)
at com.minimserver.Server$Directory.postVisit(Server.java:9311)
at com.minimserver.Server$Visitor.postVisitDirectory(Server.java:9505)
at com.minimserver.Server$Visitor.postVisitDirectory(Server.java:9382)
at java.nio.file.Files.walkFileTree(Files.java:2688)
at java.nio.file.Files.walkFileTree(Files.java:2742)
at com.minimserver.Server.readFiles(Server.java:4234)
at com.minimserver.Server.doStart(Server.java:2321)
at com.minimserver.Server.start(Server.java:505)
at org.jminim.core.ContextImpl.startComponent(ContextImpl.java:167)
at org.jminim.core.ContextImpl.start(ContextImpl.java:92)
at org.jminim.core.RootContextImpl.startComponent(RootContextImpl.java:48)
at org.jminim.core.ContextImpl.start(ContextImpl.java:92)
at org.jminim.core.RuntimeImpl.run(RuntimeImpl.java:1487)
at org.jminim.core.LauncherImpl.run(LauncherImpl.java:998)
at org.jminim.core.LauncherImpl.launch(LauncherImpl.java:121)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav​a:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.jminim.launch.Launcher.doLaunch(Launcher.java:677)
at org.jminim.launch.Launcher.launch(Launcher.java:210)
at com.minimserver.launch.LaunchServer.main(LaunchServer.java:34)
07:58:52.149 main: error while starting component minimserver in context context0
07:58:52.149 main: >>> EVENT >>> componentError: minimserver
07:58:52.150 main: ServerControl: componentError event for minimserver
07:58:52.150 main: Monitor: componentError event for minimserver in context context0
07:58:52.151 main: stopping component minimserver in context context0
07:58:52.151 main: >>> EVENT >>> componentStopping: minimserver
07:58:52.151 main: ServerControl: componentStopping event for minimserver
07:58:52.152 main: Monitor: componentStopping event for minimserver in context context0
07:58:52.152 main: stopping MinimServer
07:58:52.153 main: disposing http service
07:58:52.154 main: disposing HTTPContext

=======
Find all posts by this user
Quote this message in a reply
02-05-2017, 23:35
Post: #4
RE: OutofBounds Exception Asustor ARM version
Thanks for this information. The problem is related to the version of Java that ASUSTOR is providing.

I can PM you instructions for installing a later version of Java. Are you familiar with Linux commands?
Find all posts by this user
Quote this message in a reply
03-05-2017, 09:02
Post: #5
RE: OutofBounds Exception Asustor ARM version
...a late night, Simon! Thanks for the response.

I'm tech savvy, but very inexperienced with Linux.

I'm quite happy, for instance, using WinSCP, to explore "behind the scenes" in the NAS, and change parameters, but when it comes to using Linux commands to achieve something, then I'm a complete novice. I do have access to someone with a little more Linux experience, though.

If the instructions are easily scriptable for following, then it would be worthwhile PM'ing them, and I'll make a judgement. (It would also be good if the uninstall process was simple, such that I could revert, as there is a small number of other things on the NAS that depend on Java).
Find all posts by this user
Quote this message in a reply
04-05-2017, 11:59 (This post was last modified: 04-05-2017 17:18 by Sherwoodforest.)
Post: #6
Thumbs Up RE: OutofBounds Exception Asustor ARM version
Simon,

thank you for the instructions and the downloads via PM. All was pretty straightforward, and I can follow what the Scripts do/have done.

After updating Java, I've loaded and reloaded Minimserver a few times, and played music using both of my (different technology) control points/renderers.

So far so good - the consistent failures on startup have now completely disappeared, and the more sporadic failure on first access from a renderer hasn't yet re-occurred.

I'm very pleased, as I do like the implementation and functionality of Minimserver (not to mention the support Wink ) and whilst the issues were recoverable, they were also niggling.

I'll give it a bit more of a "soak test" when I get opportunity, and if all is still OK, I'll drop a small donation in via Paypal.

Many thanks.
Find all posts by this user
Quote this message in a reply
04-05-2017, 22:06
Post: #7
RE: OutofBounds Exception Asustor ARM version
Thanks for letting me know. I think it is very likely that this Java update has fixed the problem.

If anyone else is seeing the same problem, please let me know by posting here.
Find all posts by this user
Quote this message in a reply
09-05-2017, 08:56
Post: #8
RE: OutofBounds Exception Asustor ARM version
Well, best part of a week on, and nary a problem with anything.

Minimserver is now my main server software, and I've dropped a small donation in by Paypal.

Thanks Simon.
Find all posts by this user
Quote this message in a reply
09-05-2017, 21:32
Post: #9
RE: OutofBounds Exception Asustor ARM version
Thanks for testing this and for the donation.

I have decided to include the latest Java runtime in the ASUSTOR MinimServer package for ARM. This is simpler for users to install than doing what you did. This is an officially supported MinimServer build and I suggest you update to it by running the removejava.sh script and then downloading and manually installing MinimServer-0.8.4.6-arm.apk. You can find step-by-step instructions on this page.

With this package installed, MinimServer doesn't use the ASUSTOR version of Java but uses a bundled version that has a fix for the bug you were seeing.
Find all posts by this user
Quote this message in a reply
10-05-2017, 12:58
Post: #10
RE: OutofBounds Exception Asustor ARM version
...done all that Simon.

Confirmed that the new installation is (on minimal testing) looking OK.

I'll update again after a longer spell of use.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


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