com.atlassian.jira.issue.attachment.AttachmentReadException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • h3. Summary This is a logging bug. There seems to be no functional problem from the UI side. When clicking on an mp4 attachment, it will play the video in the web browser with no indication of any problem, but JIRA logs a {{ClientAbortException}}. * This doesn't seem to happen for small files that are less than 1 MB (rought estimate) * For files that are a couple MB in size, it happens upon first request, but not after. I believe this is because of caching * I've been able to always reproduce this with larger files of great than a couple hundred MB h3. Environment Reproducible on the browsers below: - Chrome 42.0.2311.135 (64-bit) - Safari 7.1 (9537.85.10.17.1) The error does not happen when streaming the video on Firefox 37.0.2. h3. Steps to Reproduce # Upload a .mp4 video file to an issue ticket (e.g. [^SampleVideo_360x240_5mb.mp4]). #* Use larger files for best results # Click on the video, which will cause it to start playing in your web browser h3. Expected Results No errors are written to the logs. h3. Actual Results The errors below will be written to the JIRA logs: {{catalina.out}} or {{atlassian-jira.log}}: {code} 2015-03-27 16:02:54,535 http-bio-8080-exec-5 ERROR admin 962x252x1 1g0nbm1 0:0:0:0:0:0:0:1 /secure/attachment/23200/test-video .mp4 [jira.web.servlet.ViewAttachmentServlet] Error serving file for path /23200/test-video.mp4: com.atlassian.jira.exception.DataAccessException: ClientAbortException: java.net.SocketException: Broken pipe com.atlassian.jira.issue.attachment.AttachmentReadException: com.atlassian.jira.exception.DataAccessException: ClientAbortException: java.net.SocketException: Broken pipe at com.atlassian.jira.issue.attachment.DefaultAttachmentStore$3.call(DefaultAttachmentStore.java:197) at com.atlassian.util.concurrent.Executors$DefaultSubmitter$CallableRunner.run(Executors.java:62) at com.atlassian.util.concurrent.LimitedExecutor$Runner.run(LimitedExecutor.java:93) 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:745) Caused by: com.atlassian.jira.exception.DataAccessException: ClientAbortException: java.net.SocketException: Broken pipe at com.atlassian.jira.issue.managers.DefaultAttachmentManager$2.get(DefaultAttachmentManager.java:572) at com.atlassian.jira.issue.managers.DefaultAttachmentManager$2.get(DefaultAttachmentManager.java:562) at com.atlassian.util.concurrent.Functions$ToGoogleAdapter.apply(Functions.java:131) at com.atlassian.jira.issue.attachment.DefaultAttachmentStore$3.call(DefaultAttachmentStore.java:193) ... 5 more Caused by: ClientAbortException: java.net.SocketException: Broken pipe at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:407) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366) at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:432) at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:420) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91) at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1026) at org.apache.commons.io.IOUtils.copy(IOUtils.java:999) at com.atlassian.jira.web.servlet.AbstractViewFileServlet$1.withInputStream(AbstractViewFileServlet.java:105) at com.atlassian.jira.web.servlet.AbstractViewFileServlet$1.withInputStream(AbstractViewFileServlet.java:95) at com.atlassian.jira.issue.managers.DefaultAttachmentManager$2.get(DefaultAttachmentManager.java:568) ... 8 more 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:480) 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:499) at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:402) ... 18 more {code} {{localhost-<DATE>.log}}: {noformat} May 06, 2015 10:11:36 AM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [viewattachment] in context with path [/jira641] threw exception [com.atlassian.jira.issue.attachment.AttachmentReadException: com.atlassian.jira.exception.DataAccessException: ClientAbortException: java.net.SocketException: Broken pipe] with root cause 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:480) 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:499) at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:402) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366) at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:432) at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:420) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91) at net.bull.javamelody.FilterServletOutputStream.write(FilterServletOutputStream.java:83) at net.bull.javamelody.CounterResponseStream.write(CounterResponseStream.java:82) at com.atlassian.gzipfilter.RoutableServletOutputStream.write(RoutableServletOutputStream.java:118) at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1026) at org.apache.commons.io.IOUtils.copy(IOUtils.java:999) at com.atlassian.jira.web.servlet.AbstractViewFileServlet$1.withInputStream(AbstractViewFileServlet.java:108) at com.atlassian.jira.web.servlet.AbstractViewFileServlet$1.withInputStream(AbstractViewFileServlet.java:98) at com.atlassian.jira.issue.managers.DefaultAttachmentManager$8.get(DefaultAttachmentManager.java:874) at com.atlassian.jira.issue.managers.DefaultAttachmentManager$8.get(DefaultAttachmentManager.java:868) at com.atlassian.jira.issue.attachment.store.DefaultFileSystemAttachmentStore$2.get(DefaultFileSystemAttachmentStore.java:145) at com.atlassian.jira.issue.attachment.store.DefaultFileSystemAttachmentStore$2.get(DefaultFileSystemAttachmentStore.java:141) at com.atlassian.jira.issue.attachment.store.DefaultFileSystemAttachmentStore$3.call(DefaultFileSystemAttachmentStore.java:178) at com.atlassian.util.concurrent.Executors$DefaultSubmitter$CallableRunner.run(Executors.java:62) at com.atlassian.util.concurrent.LimitedExecutor$Runner.run(LimitedExecutor.java:93) 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) {noformat} h3. Notes Instances using APR (Apache Portable Runtime) will have a slightly different stack trace. The problem is still reproducible in those environments though.
    via by David Chan [Atlassian],
  • h3. Summary This is a logging bug. There seems to be no functional problem from the UI side. When clicking on an mp4 attachment, it will play the video in the web browser with no indication of any problem, but JIRA logs a {{ClientAbortException}}. * This doesn't seem to happen for small files that are less than 1 MB (rought estimate) * For files that are a couple MB in size, it happens upon first request, but not after. I believe this is because of caching * I've been able to always reproduce this with larger files of great than a couple hundred MB h3. Environment Reproducible on the browsers below: - Chrome 42.0.2311.135 (64-bit) - Safari 7.1 (9537.85.10.17.1) The error does not happen when streaming the video on Firefox 37.0.2. h3. Steps to Reproduce # Upload a .mp4 video file to an issue ticket (e.g. [^SampleVideo_360x240_5mb.mp4]). #* Use larger files for best results # Click on the video, which will cause it to start playing in your web browser h3. Expected Results No errors are written to the logs. h3. Actual Results The errors below will be written to the JIRA logs: {{catalina.out}} or {{atlassian-jira.log}}: {code} 2015-03-27 16:02:54,535 http-bio-8080-exec-5 ERROR admin 962x252x1 1g0nbm1 0:0:0:0:0:0:0:1 /secure/attachment/23200/test-video .mp4 [jira.web.servlet.ViewAttachmentServlet] Error serving file for path /23200/test-video.mp4: com.atlassian.jira.exception.DataAccessException: ClientAbortException: java.net.SocketException: Broken pipe com.atlassian.jira.issue.attachment.AttachmentReadException: com.atlassian.jira.exception.DataAccessException: ClientAbortException: java.net.SocketException: Broken pipe at com.atlassian.jira.issue.attachment.DefaultAttachmentStore$3.call(DefaultAttachmentStore.java:197) at com.atlassian.util.concurrent.Executors$DefaultSubmitter$CallableRunner.run(Executors.java:62) at com.atlassian.util.concurrent.LimitedExecutor$Runner.run(LimitedExecutor.java:93) 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:745) Caused by: com.atlassian.jira.exception.DataAccessException: ClientAbortException: java.net.SocketException: Broken pipe at com.atlassian.jira.issue.managers.DefaultAttachmentManager$2.get(DefaultAttachmentManager.java:572) at com.atlassian.jira.issue.managers.DefaultAttachmentManager$2.get(DefaultAttachmentManager.java:562) at com.atlassian.util.concurrent.Functions$ToGoogleAdapter.apply(Functions.java:131) at com.atlassian.jira.issue.attachment.DefaultAttachmentStore$3.call(DefaultAttachmentStore.java:193) ... 5 more Caused by: ClientAbortException: java.net.SocketException: Broken pipe at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:407) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366) at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:432) at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:420) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91) at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1026) at org.apache.commons.io.IOUtils.copy(IOUtils.java:999) at com.atlassian.jira.web.servlet.AbstractViewFileServlet$1.withInputStream(AbstractViewFileServlet.java:105) at com.atlassian.jira.web.servlet.AbstractViewFileServlet$1.withInputStream(AbstractViewFileServlet.java:95) at com.atlassian.jira.issue.managers.DefaultAttachmentManager$2.get(DefaultAttachmentManager.java:568) ... 8 more 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:480) 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:499) at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:402) ... 18 more {code} {{localhost-<DATE>.log}}: {noformat} May 06, 2015 10:11:36 AM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [viewattachment] in context with path [/jira641] threw exception [com.atlassian.jira.issue.attachment.AttachmentReadException: com.atlassian.jira.exception.DataAccessException: ClientAbortException: java.net.SocketException: Broken pipe] with root cause 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:480) 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:499) at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:402) at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480) at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366) at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:432) at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:420) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91) at net.bull.javamelody.FilterServletOutputStream.write(FilterServletOutputStream.java:83) at net.bull.javamelody.CounterResponseStream.write(CounterResponseStream.java:82) at com.atlassian.gzipfilter.RoutableServletOutputStream.write(RoutableServletOutputStream.java:118) at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1026) at org.apache.commons.io.IOUtils.copy(IOUtils.java:999) at com.atlassian.jira.web.servlet.AbstractViewFileServlet$1.withInputStream(AbstractViewFileServlet.java:108) at com.atlassian.jira.web.servlet.AbstractViewFileServlet$1.withInputStream(AbstractViewFileServlet.java:98) at com.atlassian.jira.issue.managers.DefaultAttachmentManager$8.get(DefaultAttachmentManager.java:874) at com.atlassian.jira.issue.managers.DefaultAttachmentManager$8.get(DefaultAttachmentManager.java:868) at com.atlassian.jira.issue.attachment.store.DefaultFileSystemAttachmentStore$2.get(DefaultFileSystemAttachmentStore.java:145) at com.atlassian.jira.issue.attachment.store.DefaultFileSystemAttachmentStore$2.get(DefaultFileSystemAttachmentStore.java:141) at com.atlassian.jira.issue.attachment.store.DefaultFileSystemAttachmentStore$3.call(DefaultFileSystemAttachmentStore.java:178) at com.atlassian.util.concurrent.Executors$DefaultSubmitter$CallableRunner.run(Executors.java:62) at com.atlassian.util.concurrent.LimitedExecutor$Runner.run(LimitedExecutor.java:93) 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) {noformat} h3. Notes Instances using APR (Apache Portable Runtime) will have a slightly different stack trace. The problem is still reproducible in those environments though.
    via by David Chan [Atlassian],
    • com.atlassian.jira.issue.attachment.AttachmentReadException: com.atlassian.jira.exception.DataAccessException: ClientAbortException: java.net.SocketException: Broken pipe at com.atlassian.jira.issue.attachment.DefaultAttachmentStore$3.call(DefaultAttachmentStore.java:197) at com.atlassian.util.concurrent.Executors$DefaultSubmitter$CallableRunner.run(Executors.java:62) at com.atlassian.util.concurrent.LimitedExecutor$Runner.run(LimitedExecutor.java:93) 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:745) Caused by: com.atlassian.jira.exception.DataAccessException: ClientAbortException: java.net.SocketException: Broken pipe at com.atlassian.jira.issue.managers.DefaultAttachmentManager$2.get(DefaultAttachmentManager.java:572) at com.atlassian.jira.issue.managers.DefaultAttachmentManager$2.get(DefaultAttachmentManager.java:562) at com.atlassian.util.concurrent.Functions$ToGoogleAdapter.apply(Functions.java:131) at com.atlassian.jira.issue.attachment.DefaultAttachmentStore$3.call(DefaultAttachmentStore.java:193) ... 5 more
    No Bugmate found.