Uploaded image for project: 'Jira Platform Cloud'
  1. Jira Platform Cloud
  2. JRACLOUD-26615

Thumbnails / Attachments Section not Shown with JPEGs with color profiles

      NOTE: This bug report is for JIRA Cloud. Using JIRA Server? See the corresponding bug report.

      When attaching JPEGs containing Color Profiles to an issue, the thumbnails and the whole attachment section of the Issue View page isn't displayed.

      In the same time JIRA reports in the log file:

      2011-12-06 16:41:07,254 http-9090-3 ERROR nohn_s 1001x29598x1 v25gw 192.168.31.200,192.168.147.13 /browse/LWD-6695 [webwork.util.ValueStack] query="/areAttachmentsEmpty" {[id="null" type="5" values=""]} {[id="areAttachmentsEmpty" type="8" values=""]}
      java.lang.reflect.InvocationTargetException
              at sun.reflect.GeneratedMethodAccessor1116.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:70)
              at webwork.util.InjectionUtils.invoke(InjectionUtils.java:56)
              at webwork.util.ValueStack.findValue(ValueStack.java:414)
              at webwork.util.SimpleTest.test(SimpleTest.java:408)
              at webwork.util.ValueStack.test(ValueStack.java:157)
              at webwork.view.taglib.IfTag.doStartTag(IfTag.java:40)
              at org.apache.jsp.includes.panels.issue.view_005fattachments_jsp._jspx_meth_ww_005fif_005f0(view_005fattachments_jsp.java:158)
              at org.apache.jsp.includes.panels.issue.view_005fattachments_jsp._jspService(view_005fattachments_jsp.java:112)
              at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
              at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
              at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
              at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
              at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
              at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
              at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
              at org.apache.jsp.secure.views.issue.viewissue_jsp._jspx_meth_ww_005fproperty_005f10(viewissue_jsp.java:1015)
              at org.apache.jsp.secure.views.issue.viewissue_jsp._jspx_meth_ww_005fproperty_005f6(viewissue_jsp.java:781)
              at org.apache.jsp.secure.views.issue.viewissue_jsp._jspService(viewissue_jsp.java:227)
              at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
              at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
              at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
              at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
              at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
              at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
              at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
              at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
              at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25)
              at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
              at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:75)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:150)
              at com.atlassian.jira.web.filters.JiraLoginFilter.doFilter(JiraLoginFilter.java:70)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
              at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
              at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
              at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
              at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.dispatchView(JiraWebworkActionDispatcher.java:286)
              at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.service(JiraWebworkActionDispatcher.java:188)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
              at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
              at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
              at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25)
              at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
              at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
              at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77)
      ...
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
              at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
              at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
              at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
              at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
              at java.lang.Thread.run(Thread.java:619)
      Caused by: java.lang.IllegalArgumentException: Numbers of source Raster bands and source color space components do not match
              at java.awt.image.ColorConvertOp.filter(ColorConvertOp.java:460)
              at com.sun.imageio.plugins.jpeg.JPEGImageReader.acceptPixels(JPEGImageReader.java:1114)
              at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method)
              at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1082)
              at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:897)
              at javax.imageio.ImageIO.read(ImageIO.java:1422)
              at javax.imageio.ImageIO.read(ImageIO.java:1326)
              at com.atlassian.core.util.thumbnail.Thumber.getImage(Thumber.java:451)
              at com.atlassian.core.util.thumbnail.Thumber.createThumbnail(Thumber.java:408)
              at com.atlassian.core.util.thumbnail.Thumber.retrieveOrCreateThumbNail(Thumber.java:376)
              at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager$1.withInputStream(DefaultThumbnailManager.java:244)
              at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager$1.withInputStream(DefaultThumbnailManager.java:240)
              at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager.withStreamConsumer(DefaultThumbnailManager.java:355)
              at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager.doGetThumbnail(DefaultThumbnailManager.java:239)
              at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager.getThumbnail(DefaultThumbnailManager.java:151)
              at sun.reflect.GeneratedMethodAccessor1180.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:81)
              at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28)
              at $Proxy150.getThumbnail(Unknown Source)
              at com.atlassian.jira.issue.attachment.AttachmentsCategoriser$AttachmentItemCreator.apply(AttachmentsCategoriser.java:185)
              at com.atlassian.jira.issue.attachment.AttachmentsCategoriser$AttachmentItemCreator.apply(AttachmentsCategoriser.java:175)
              at com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:431)
              at java.util.AbstractList$Itr.next(AbstractList.java:345)
              at java.util.AbstractCollection.toArray(AbstractCollection.java:124)
              at java.util.ArrayList.<init>(ArrayList.java:131)
              at com.google.common.collect.Lists.newArrayList(Lists.java:111)
              at com.atlassian.jira.issue.attachment.AttachmentsCategoriser.attachmentItems(AttachmentsCategoriser.java:124)
              at com.atlassian.jira.issue.attachment.AttachmentsCategoriser.itemsThatHaveThumbnail(AttachmentsCategoriser.java:111)
              at com.atlassian.jira.issue.attachment.AttachmentsCategoriser.attachmentsThatHaveThumbnail(AttachmentsCategoriser.java:98)
              at com.atlassian.jira.issue.attachment.AttachmentsCategoriser.noThumbnailAttachments(AttachmentsCategoriser.java:88)
              at com.atlassian.jira.web.action.issue.ViewIssue.getFileAttachments(ViewIssue.java:368)
              at com.atlassian.jira.web.action.issue.ViewIssue.areAttachmentsEmpty(ViewIssue.java:501)
              ... 245 more
      

        1. sample.txt
          742 kB
        2. Screenshot.png
          Screenshot.png
          12 kB

            [JRACLOUD-26615] Thumbnails / Attachments Section not Shown with JPEGs with color profiles

            rozuan added a comment -

            Hi, May I ask how to fix this? Any instructions? I'm using v5.2.3 and had this problem. Thanks.

            rozuan added a comment - Hi, May I ask how to fix this? Any instructions? I'm using v5.2.3 and had this problem. Thanks.

            This is not actually identical to JRA-26299. One deals with Thumbnails, the other deals with non-thumbnails.

            Eric Dalgliesh added a comment - This is not actually identical to JRA-26299 . One deals with Thumbnails, the other deals with non-thumbnails.

            The problem can be also reproduced in JIRA v5.0-SNAPSHOT#710-sha1:039031f, where additionally to the stack trace in the log file the attachment section produces the following error is produced:

            'Error rendering 'com.atlassian.jira.jira-view-issue-plugin:attachmentmodule'. Please contact your JIRA administrators.'

            on JIRA 4.4 the Attachment section is not displayed at all.

            Bogdan Dziedzic [Atlassian] added a comment - - edited The problem can be also reproduced in JIRA v5.0-SNAPSHOT#710-sha1:039031f , where additionally to the stack trace in the log file the attachment section produces the following error is produced: 'Error rendering 'com.atlassian.jira.jira-view-issue-plugin:attachmentmodule'. Please contact your JIRA administrators.' on JIRA 4.4 the Attachment section is not displayed at all.

            From our investigation this is a bug in the JDK. The problem is with:

            javax.imageio.ImageIO.read()

            It does not like files of this type.

            From Bogdan's comment, these are the related JDK issues:
            http://bugs.sun.com/view_bug.do?bug_id=4893408
            http://bugs.sun.com/view_bug.do?bug_id=4884308

            The first one is marked as fixed in 6u14(b03), which was released in 2009.

            This thread shows a possible solution:
            https://forums.oracle.com/forums/thread.jspa?threadID=1270059

            JAI.create("fileload", filename)
            

            Bogdan Dziedzic [Atlassian] added a comment - From our investigation this is a bug in the JDK. The problem is with: javax.imageio.ImageIO.read() It does not like files of this type. From Bogdan's comment, these are the related JDK issues: http://bugs.sun.com/view_bug.do?bug_id=4893408 http://bugs.sun.com/view_bug.do?bug_id=4884308 The first one is marked as fixed in 6u14(b03), which was released in 2009. This thread shows a possible solution: https://forums.oracle.com/forums/thread.jspa?threadID=1270059 JAI.create( "fileload" , filename)

            Renamed sample.txt to .jpg should allow replication of the issue.

            Bogdan Dziedzic [Atlassian] added a comment - Renamed sample.txt to .jpg should allow replication of the issue.

              Unassigned Unassigned
              bdziedzic Bogdan Dziedzic [Atlassian]
              Affected customers:
              3 This affects my team
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: