Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-19557

Thumbnail of certain image attachments fail and cause ERROR in log

      Steps to create problematic image:

      1. On a Mac using OS X 10.5 or 10.6
      2. Use Preview to capture part of the screen (File > Grab)
      3. Save the image in GIF format.
      4. Attach the GIF image to a JIRA issue, then open that issue.

      Problem:

      • Thumbnail does not appear in image attachments
      • ERRORS appear in logs:
      2009-10-28 10:51:57,863 http-8080-Processor21 ERROR [core.util.thumbnail.Thumber] Unable to create thumbnail image for id 10000
      javax.imageio.IIOException: Unexpected block type 0!
              at com.sun.imageio.plugins.gif.GIFImageReader.readMetadata(GIFImageReader.java:721)
              at com.sun.imageio.plugins.gif.GIFImageReader.read(GIFImageReader.java:954)
              at javax.imageio.ImageIO.read(ImageIO.java:1400)
              at javax.imageio.ImageIO.read(ImageIO.java:1322)
              at com.atlassian.core.util.thumbnail.Thumber.getImage(Thumber.java:281)
              at com.atlassian.core.util.thumbnail.Thumber.createThumbnail(Thumber.java:241)
              at com.atlassian.core.util.thumbnail.Thumber.retrieveOrCreateThumbNail(Thumber.java:215)
              at com.atlassian.core.util.thumbnail.Thumber.retrieveOrCreateThumbNail(Thumber.java:86)
              at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager.getThumbnail(DefaultThumbnailManager.java:104)
              at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager.getThumbnails(DefaultThumbnailManager.java:50)
      
      2009-10-28 10:51:57,874 http-8080-Processor21 ERROR [webwork.util.ValueStack] METHOD: "attachment", exception: 
      com.atlassian.jira.exception.AttachmentNotFoundException: null
              at com.atlassian.jira.issue.managers.DefaultAttachmentManager.getAttachment(DefaultAttachmentManager.java:85)
      
      2009-10-28 10:51:57,882 http-8080-Processor21 ERROR [webwork.util.ValueStack] METHOD: "latestFile", exception: 
      java.lang.NullPointerException
              at com.atlassian.jira.web.bean.LatestFileBean.isLatestFile(LatestFileBean.java:44)
      

      (I attached a full log file for posterity)

      I tested this against JIRA 3.13.5 and the issue does not occur - this is new in 4.0.

      Using this method of doing screen grabs works if you save to JPEG instead of GIF.

        1. atlassian-jira.log
          350 kB
        2. brokenthumbnail.gif.gz
          13 kB
        3. maxatpsuppfactspanel.jpg
          maxatpsuppfactspanel.jpg
          1.07 MB
        4. more_bad.txt
          11 kB

            [JRASERVER-19557] Thumbnail of certain image attachments fail and cause ERROR in log

            Tim Hailey added a comment -

            I have the same problem in JIRA 4.1.1

            Tim Hailey added a comment - I have the same problem in JIRA 4.1.1

            Tim Hailey added a comment -

            I have the same problem in JIRA 4.1.1

            Tim Hailey added a comment - I have the same problem in JIRA 4.1.1

            Trent Larson added a comment - - edited

            I'm attaching an image (maxatpsuppfactspanel.jpg) that breaks our Jira with this error:

            2010-06-09 15:10:24,346 http-9090-Processor25 ERROR trent 54622x36111x1 2y7iey http://max4udev.com:9090/browse/FOURU-1085 [core.util.thumbnail.Thumber] Unable to create thumbnail image for id 10587
            javax.imageio.IIOException: Unsupported Image Type
            at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:910)
            at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:885)
            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:281)
            at com.atlassian.core.util.thumbnail.Thumber.createThumbnail(Thumber.java:241)
            at com.atlassian.core.util.thumbnail.Thumber.retrieveOrCreateThumbNail(Thumber.java:215)
            at com.atlassian.core.util.thumbnail.Thumber.retrieveOrCreateThumbNail(Thumber.java:86)
            at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager.getThumbnail(DefaultThumbnailManager.java:104)
            at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager.getThumbnails(DefaultThumbnailManager.java:50)
            ... (I'll give the whole stack if you need.)

            We're on version 4.0 build 466.

            Trent Larson added a comment - - edited I'm attaching an image (maxatpsuppfactspanel.jpg) that breaks our Jira with this error: 2010-06-09 15:10:24,346 http-9090-Processor25 ERROR trent 54622x36111x1 2y7iey http://max4udev.com:9090/browse/FOURU-1085 [core.util.thumbnail.Thumber] Unable to create thumbnail image for id 10587 javax.imageio.IIOException: Unsupported Image Type at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:910) at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:885) 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:281) at com.atlassian.core.util.thumbnail.Thumber.createThumbnail(Thumber.java:241) at com.atlassian.core.util.thumbnail.Thumber.retrieveOrCreateThumbNail(Thumber.java:215) at com.atlassian.core.util.thumbnail.Thumber.retrieveOrCreateThumbNail(Thumber.java:86) at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager.getThumbnail(DefaultThumbnailManager.java:104) at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager.getThumbnails(DefaultThumbnailManager.java:50) ... (I'll give the whole stack if you need.) We're on version 4.0 build 466.

            Oleg Chekan added a comment - - edited

            This bug was also reproduced at our JIRA Studio 2.1 (PNG image with transparency)
            It also breaks Activity Stream of the project/Global Activity Stream

            Oleg Chekan added a comment - - edited This bug was also reproduced at our JIRA Studio 2.1 (PNG image with transparency) It also breaks Activity Stream of the project/Global Activity Stream

            bain added a comment - - edited

            This error also causes the Activity Stream to NPE when trying to render streams that contain said images. The problem is that the DefaultThumbnailManager seems to add null to the list of images returned from an issue when this error occurs. See more_bad.txt for the exceptions from JAC.

            I actually had to compress the image attached to this issue so that the activity stream would render for JIRA.

            bain added a comment - - edited This error also causes the Activity Stream to NPE when trying to render streams that contain said images. The problem is that the DefaultThumbnailManager seems to add null to the list of images returned from an issue when this error occurs. See more_bad.txt for the exceptions from JAC. I actually had to compress the image attached to this issue so that the activity stream would render for JIRA.

            bain added a comment -

            Added Gzipped version. This image was causing lots of errors in our logs.

            bain added a comment - Added Gzipped version. This image was causing lots of errors in our logs.

            Attaching what I hope is an example of a broken GIF generated by Mac Preview app

            Michael Tokar added a comment - Attaching what I hope is an example of a broken GIF generated by Mac Preview app

            Please attach example images that cause this problem. GIF / JPG / PNG is not enough information.

            Each of these image formats can represent image data in many different ways. The thumbnailer component cannot handle all images, for example it cannot handle CMYK colourspace PNG images as tracked by JRA-20072 or alpha channels and transparency as in JRA-15862

            So if you don't really know enough about this stuff to comment on that level of detail, please just attach the culprit image

            Chris Mountford added a comment - Please attach example images that cause this problem. GIF / JPG / PNG is not enough information. Each of these image formats can represent image data in many different ways. The thumbnailer component cannot handle all images, for example it cannot handle CMYK colourspace PNG images as tracked by JRA-20072 or alpha channels and transparency as in JRA-15862 So if you don't really know enough about this stuff to comment on that level of detail, please just attach the culprit image

            David Yu added a comment - - edited

            This error can also break Activity Streams.

            David Yu added a comment - - edited This error can also break Activity Streams .

            David Yu added a comment -

            Also occurs with other picture formats PNG. In this case, it was a PNG saved in Photoshop. See JST-3614 for example PNG.

            2010-01-26 00:09:34,265 TP-Processor17 ERROR sysadmin 568x36872x1 l17m36 http://terminii.jira.com/plugins/servlet/streams [core.util.thumbnail.Thumber] Unable to create thumbnail image for id 10087
            javax.imageio.IIOException: Error reading PNG metadata
            	at com.sun.imageio.plugins.png.PNGImageReader.readMetadata(PNGImageReader.java:695)
            	at com.sun.imageio.plugins.png.PNGImageReader.readImage(PNGImageReader.java:1314)
            	at com.sun.imageio.plugins.png.PNGImageReader.read(PNGImageReader.java:1601)
            	at javax.imageio.ImageIO.read(ImageIO.java:1400)
            	at javax.imageio.ImageIO.read(ImageIO.java:1322)
            	at com.atlassian.core.util.thumbnail.Thumber.getImage(Thumber.java:281)
            	at com.atlassian.core.util.thumbnail.Thumber.createThumbnail(Thumber.java:241)
            	at com.atlassian.core.util.thumbnail.Thumber.retrieveOrCreateThumbNail(Thumber.java:215)
            	at com.atlassian.core.util.thumbnail.Thumber.retrieveOrCreateThumbNail(Thumber.java:86)
            	at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager.getThumbnail(DefaultThumbnailManager.java:104)
            	at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager.getThumbnails(DefaultThumbnailManager.java:50)
            	at sun.reflect.GeneratedMethodAccessor373.invoke(Unknown Source)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            	at java.lang.reflect.Method.invoke(Method.java:592)
            	at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:70)
            	at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28)
            	at $Proxy88.getThumbnails(Unknown Source)
            	at sun.reflect.GeneratedMethodAccessor373.invoke(Unknown Source)
            	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            	at java.lang.reflect.Method.invoke(Method.java:592)
            	at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
            	at $Proxy88.getThumbnails(Unknown Source)
            .
            .
            .
            Caused by: java.io.EOFException
            	at javax.imageio.stream.ImageInputStreamImpl.readFully(ImageInputStreamImpl.java:330)
            	at java.io.DataInputStream.readUTF(DataInputStream.java:565)
            	at javax.imageio.stream.ImageInputStreamImpl.readUTF(ImageInputStreamImpl.java:309)
            	at com.sun.imageio.plugins.png.PNGImageReader.parse_iTXt_chunk(PNGImageReader.java:443)
            	at com.sun.imageio.plugins.png.PNGImageReader.readMetadata(PNGImageReader.java:652)
            	... 169 more
            
            

            David Yu added a comment - Also occurs with other picture formats PNG. In this case, it was a PNG saved in Photoshop. See JST-3614 for example PNG. 2010-01-26 00:09:34,265 TP-Processor17 ERROR sysadmin 568x36872x1 l17m36 http: //terminii.jira.com/plugins/servlet/streams [core.util.thumbnail.Thumber] Unable to create thumbnail image for id 10087 javax.imageio.IIOException: Error reading PNG metadata at com.sun.imageio.plugins.png.PNGImageReader.readMetadata(PNGImageReader.java:695) at com.sun.imageio.plugins.png.PNGImageReader.readImage(PNGImageReader.java:1314) at com.sun.imageio.plugins.png.PNGImageReader.read(PNGImageReader.java:1601) at javax.imageio.ImageIO.read(ImageIO.java:1400) at javax.imageio.ImageIO.read(ImageIO.java:1322) at com.atlassian.core.util.thumbnail.Thumber.getImage(Thumber.java:281) at com.atlassian.core.util.thumbnail.Thumber.createThumbnail(Thumber.java:241) at com.atlassian.core.util.thumbnail.Thumber.retrieveOrCreateThumbNail(Thumber.java:215) at com.atlassian.core.util.thumbnail.Thumber.retrieveOrCreateThumbNail(Thumber.java:86) at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager.getThumbnail(DefaultThumbnailManager.java:104) at com.atlassian.jira.issue.thumbnail.DefaultThumbnailManager.getThumbnails(DefaultThumbnailManager.java:50) at sun.reflect.GeneratedMethodAccessor373.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:70) at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28) at $Proxy88.getThumbnails(Unknown Source) at sun.reflect.GeneratedMethodAccessor373.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129) at $Proxy88.getThumbnails(Unknown Source) . . . Caused by: java.io.EOFException at javax.imageio.stream.ImageInputStreamImpl.readFully(ImageInputStreamImpl.java:330) at java.io.DataInputStream.readUTF(DataInputStream.java:565) at javax.imageio.stream.ImageInputStreamImpl.readUTF(ImageInputStreamImpl.java:309) at com.sun.imageio.plugins.png.PNGImageReader.parse_iTXt_chunk(PNGImageReader.java:443) at com.sun.imageio.plugins.png.PNGImageReader.readMetadata(PNGImageReader.java:652) ... 169 more

              chris@atlassian.com Chris Mountford
              mtokar Michael Tokar
              Affected customers:
              7 This affects my team
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: