Page 1 of 1

Random "There was an error loading the album" issue

PostPosted: Mon Feb 06, 2017 4:58 pm
by mascatarasca
Problem Description: Hi. I'm facing a random issue wich can't correlate with anything yet. My subsonic server stops serving some random albums on a daily basis. On the client side I get the error message: "There was an error loading the album. Error 70: directory not found".
Troubleshooting Steps: So far, the only way to get those specific directories or albums served again is to restart the subsonic server issuing a "service subsonic restart". I have already tried to re-scan the database and clean the dabase using both links provided on the administrators config section with no luck. Also I have checked and forced a ownership and attributes check on my entire collection to assign recursively 777 to all files and dirs with no luck either.
Playback Application and version: The application facing this issue es iSub Lite running on iOS 10.
Subsonic Version: 6.0 (build a7857c) – 30 de abril de 2016
Server Version: jetty-6.1.x, java 1.7.0_111, Linux (70,0 MB / 133,5 MB)
Hardware Platform: Linux - Debian 8.6

This Is what is left in the logs when the failure occurs:

Code: Select all
[2017-02-06 11:56:31,931] WARN RESTFilter - Error in REST API: EofException
org.mortbay.jetty.EofException
        at org.mortbay.jetty.HttpGenerator.flush(HttpGenerator.java:760)
        at org.mortbay.jetty.AbstractGenerator$Output.blockForOutput(AbstractGenerator.java:546)
        at org.mortbay.jetty.AbstractGenerator$Output.flush(AbstractGenerator.java:567)
        at org.mortbay.jetty.HttpConnection$Output.flush(HttpConnection.java:907)
        at org.mortbay.jetty.AbstractGenerator$Output.write(AbstractGenerator.java:628)
        at org.mortbay.jetty.AbstractGenerator$Output.write(AbstractGenerator.java:575)
        at com.google.common.io.ByteStreams.copy(ByteStreams.java:74)
        at com.google.common.io.ByteSource.copyTo(ByteSource.java:220)
        at net.sourceforge.subsonic.controller.StreamController.sendFile(StreamController.java:300)
        at net.sourceforge.subsonic.controller.StreamController.handleRequest(StreamController.java:209)

< --- cropped --- >

Caused by: java.io.IOException: Broken pipe
        at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
        at sun.nio.ch.IOUtil.write(IOUtil.java:51)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:492)
        at org.mortbay.io.nio.ChannelEndPoint.flush(ChannelEndPoint.java:166)
        at org.mortbay.io.nio.SelectChannelEndPoint.flush(SelectChannelEndPoint.java:208)
        at org.mortbay.jetty.HttpGenerator.flush(HttpGenerator.java:693)
        ... 74 more


Also this one at the same time:

Code: Select all
[2017-02-06 11:56:31,933] ERROR JAXBWriter - Failed to marshal JAXB
java.lang.IllegalStateException: STREAM
        at org.mortbay.jetty.Response.getWriter(Response.java:583)
        at net.sourceforge.subsonic.controller.JAXBWriter.writeResponse(JAXBWriter.java:140)
        at net.sourceforge.subsonic.controller.JAXBWriter.writeErrorResponse(JAXBWriter.java:154)
        at net.sourceforge.subsonic.filter.RESTFilter.handleException(RESTFilter.java:76)
        at net.sourceforge.subsonic.filter.RESTFilter.doFilter(RESTFilter.java:62)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at net.sourceforge.subsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:54)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at net.sourceforge.subsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:59)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
        at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
        at org.mortbay.jetty.Server.handle(Server.java:313)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
        at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:844)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
        at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
        at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)


Thanks in advance to anyone who can point me in the right direction.