Page 1 of 1
ClientAbortException

Posted:
Sun Sep 23, 2012 9:18 pm
by wvcs
Recently upgraded to 4.7 (build 3105) – September 11, 2012 and I'm seeing the following error in my logs when streaming music to iPhone:
WARN RESTFilter Error in REST API: ClientAbortException
Not sure what this means or should I be concerned.
Thanks Bill
Server Apache Tomcat/6.0.35, java 1.6.0_26, Windows Server 2008 R2 (180.5 MB / 691.9 MB)
Re: ClientAbortException

Posted:
Sun Sep 23, 2012 11:29 pm
by GJ51
No need to be concerned.
Don't worry, be happy.

Re: ClientAbortException

Posted:
Mon Dec 10, 2012 7:38 pm
by saphyrre
Same issue here with iSub (on iPhone), i see connection reset errors after upgrading subsonic to 4.7. Every connection reset causes the payback to stop, so this is a big problem. iSub's developer seems to suggest that the issue is with subsonic rather than the app itself (quote: "Subsonic has some extremely low timeout set for connections and repeatedly closes them while iSub is pausing to keep the rate limit"), so i would like some additional input from somebody that actually know what they are talking about (unlike the ridiculous post above - please do not bother to post in this thread if you have nothing to say).
Error: "WARN RESTFilter - Error in REST API: ClientAbortException ClientAbortException: java.net.SocketException: Connection reset"
Version: 4.7 (build 3105) – September 11, 2012
Server: Apache Tomcat/7.0.27, java 1.7.0_03, Linux (248.3 MB / 1.25 GB), PowerEdge 2950 (dual quad code X5355, 16GB ram, 5.5Tb RAID5), Centos 6 x64 2.6.32-279.11.1.el6.x86_64
About $55k audio files in library
Re: ClientAbortException

Posted:
Mon Dec 10, 2012 7:55 pm
by GJ51
saphyrre wrote:Same issue here with iSub (on iPhone), i see connection reset errors after upgrading subsonic to 4.7. Every connection reset causes the payback to stop, so this is a big problem. iSub's developer seems to suggest that the issue is with subsonic rather than the app itself (quote: "Subsonic has some extremely low timeout set for connections and repeatedly closes them while iSub is pausing to keep the rate limit"), so i would like some additional input from somebody that actually know what they are talking about (unlike the ridiculous post above - please do not bother to post in this thread if you have nothing to say).
Error: "WARN RESTFilter - Error in REST API: ClientAbortException ClientAbortException: java.net.SocketException: Connection reset"
Version: 4.7 (build 3105) – September 11, 2012
Server: Apache Tomcat/7.0.27, java 1.7.0_03, Linux (248.3 MB / 1.25 GB), PowerEdge 2950 (dual quad code X5355, 16GB ram, 5.5Tb RAID5), Centos 6 x64 2.6.32-279.11.1.el6.x86_64
About $55k audio files in library
Subsonic still has some bugs when used with Tomcat 7. Drop back to Tomcat 6.
Re: ClientAbortException

Posted:
Mon Dec 10, 2012 8:49 pm
by saphyrre
GJ51 wrote:Subsonic still has some bugs when used with Tomcat 7. Drop back to Tomcat 6.
Can you provide more (technical) details on this, or point me to the relevant bugs on
http://sourceforge.net/p/subsonic/bugs/ ? I'm not a Java expert, but i'm not exactly a novice either. I'm specifically interested in the cause of the error mentioned above, rather than general "incompatibility" issues.
Re: ClientAbortException

Posted:
Mon Dec 10, 2012 8:52 pm
by GJ51
http://www.subsonic.org/pages/installation.jsp#warSome of the more sophisticated modders can give you more specifics. I'm not a Java guru by any means. I do know that most users who've tried Tomcat 7 usually have errors to deal with that do not manifest themselves in T6. I haven't seen anyone pontificate regarding any advantage to using 7 rather than 6 with Subsonic, so for most of us it just makes more sense to use 6 and not have unexpected problems to deal with.
When you stray from the known baseline you enter into a new dimension when trouble shooting because it will be a deviation from what 99% of the rest of the user base has running.
Re: ClientAbortException

Posted:
Mon Dec 10, 2012 9:09 pm
by hakko
Tomcat 7 uses JSP 2.2 which has stricter validation than previous version. Sindre has used some reserved keywords (like "new") as variable names in the .jsp files which doesn't compile. This has been fixed in modded versions of the Subsonic server, but not in the official.
Re: ClientAbortException

Posted:
Mon Jan 14, 2013 4:07 pm
by Munger
Dropping back to tomcat 6 is not the solution any more than tomcat 7 is the problem. Like the original poster, I am also using tomcat 6 (6.0.36), and am seeing these messages.
Re: ClientAbortException

Posted:
Mon Mar 03, 2014 10:10 pm
by spookybathtub
Has this been fixed yet? I just installed Tomcat7 on a new system, and I'm getting these errors when playing songs with iSub.
- Code: Select all
[2014-03-03 14:00:08,877] WARN RESTFilter - Error in REST API: ClientAbortException
ClientAbortException: java.net.SocketException: Broken pipe
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:388)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:462)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:413)
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:401)
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91)
at net.sourceforge.subsonic.controller.StreamController.handleRequest(StreamController.java:221)
at net.sourceforge.subsonic.controller.RESTController.stream(RESTController.java:1172)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at net.sourceforge.subsonic.security.RESTRequestParameterProcessingFilter.doFilter(RESTRequestParameterProcessingFilter.java:108)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at net.sourceforge.subsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:43)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at net.sourceforge.subsonic.filter.RESTFilter.doFilter(RESTFilter.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at net.sourceforge.subsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:54)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at net.sourceforge.subsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:54)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
at java.net.SocketOutputStream.write(SocketOutputStream.java:159)
at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:215)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:462)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)
at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:240)
at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:84)
at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:192)
at org.apache.coyote.Response.doWrite(Response.java:504)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:383)
... 73 more
Re: ClientAbortException

Posted:
Wed Mar 05, 2014 10:34 am
by Perforator
Same errors here,
New install on a Tomcat6 + IBM Java 1.6.0 + SUSE SLES11 SP3

Re: ClientAbortException

Posted:
Sun Aug 10, 2014 5:30 pm
by FUNTOWNE
Resurrecting this old thread to post the fix that worked for me:
try changing your downsample command from the ffmpeg string to lame:
lame -S -h --resample 44.1 -b %b --tt %t --ta %a --tl %l %s -
The above is my downsample command and it fixed my streaming over cellular.