NOTICE! This is a static HTML version of a legacy LOCI Software ticket.

LOCI projects are now located on GitHub. The Bio-Formats project can be found here.

Ticket #237 (closed defect: fixed)

Opened 2008-02-11T12:11:29-06:00

Last modified 2008-02-14T09:27:48-06:00

Image planes from LegacyQTReader can no longer be displayed

Reported by: curtis Owned by: melissa
Priority: critical Milestone:
Component: bio-formats Severity: critical
Keywords: Cc:
Blocked By: Blocking:

Description

Attempting to read data/quicktime/curtis/mri-cinepak.mov on a Windows system, the following exception occurs when attempting to paint the image in the Image Viewer:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 42036
        at java.awt.image.DataBufferInt.getElem(Unknown Source)
        at java.awt.image.ComponentSampleModel.getDataElements(Unknown Source)
        at java.awt.image.Raster.getDataElements(Unknown Source)
        at sun.java2d.loops.OpaqueCopyAnyToArgb.Blit(Unknown Source)
        at sun.java2d.loops.GraphicsPrimitive.convertFrom(Unknown Source)
        at sun.java2d.loops.GraphicsPrimitive.convertFrom(Unknown Source)
        at sun.java2d.loops.MaskBlit$General.MaskBlit(Unknown Source)
        at sun.java2d.loops.Blit$GeneralMaskBlit.Blit(Unknown Source)
        at sun.java2d.pipe.DrawImage.blitSurfaceData(Unknown Source)
        at sun.java2d.pipe.DrawImage.renderImageCopy(Unknown Source)
        at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
        at sun.java2d.pipe.DrawImage.copyImage(Unknown Source)
        at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
        at sun.java2d.SunGraphics2D.drawImage(Unknown Source)
        at javax.swing.ImageIcon.paintIcon(Unknown Source)
        at javax.swing.plaf.basic.BasicLabelUI.paint(Unknown Source)
        at javax.swing.plaf.ComponentUI.update(Unknown Source)
        at javax.swing.JComponent.paintComponent(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JViewport.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JLayeredPane.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paintToOffscreen(Unknown Source)
        at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
        at javax.swing.RepaintManager.paint(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
        at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
        at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
        at java.awt.Container.paint(Unknown Source)
        at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
        at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
        at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

On Mac OS X, the exception is similar:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 42036
        at java.awt.image.DataBufferInt.getElem(DataBufferInt.java:187)
        at java.awt.image.ComponentSampleModel.getDataElements(ComponentSampleModel.java:625)
        at java.awt.image.Raster.getDataElements(Raster.java:1460)
        at sun.awt.image.SunWritableRaster.getDataElements(SunWritableRaster.java:227)
        at java.awt.image.BufferedImage.getRGB(BufferedImage.java:949)
        at apple.awt.OSXOffScreenSurfaceData.syncFromCustom(OSXOffScreenSurfaceData.java:936)
        at apple.awt.CRenderer.doImage(Native Method)
        at apple.awt.OSXSurfaceData.blitImage(OSXSurfaceData.java:1393)
        at apple.awt.CRenderer.blitImage(CRenderer.java:698)
        at apple.awt.CRenderer.copyImage(CRenderer.java:712)
        at apple.awt.CRenderer.copyImage(CRenderer.java:799)
        at sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:168)
        at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3163)
        at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3148)
        at javax.swing.ImageIcon.paintIcon(ImageIcon.java:324)
        at javax.swing.plaf.basic.BasicLabelUI.paint(BasicLabelUI.java:161)
        at apple.laf.AquaLabelUI.paint(AquaLabelUI.java:31)
        at javax.swing.plaf.ComponentUI.update(ComponentUI.java:154)
        at javax.swing.JComponent.paintComponent(JComponent.java:743)
        at javax.swing.JComponent.paint(JComponent.java:1006)
        at javax.swing.JComponent.paintChildren(JComponent.java:843)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at javax.swing.JViewport.paint(JViewport.java:726)
        at javax.swing.JComponent.paintChildren(JComponent.java:843)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at javax.swing.JComponent.paintChildren(JComponent.java:843)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at javax.swing.JComponent.paintChildren(JComponent.java:843)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:559)
        at javax.swing.JComponent.paintChildren(JComponent.java:843)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:34)
        at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
        at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
        at java.awt.Container.paint(Container.java:1722)
        at sun.awt.RepaintArea.paintComponent(RepaintArea.java:276)
        at sun.awt.RepaintArea.paint(RepaintArea.java:241)
        at apple.awt.ComponentModel.handleEvent(ComponentModel.java:251)
        at apple.awt.CWindow.handleEvent(CWindow.java:176)
        at java.awt.Component.dispatchEventImpl(Component.java:4126)
        at java.awt.Container.dispatchEventImpl(Container.java:2068)
        at java.awt.Window.dispatchEventImpl(Window.java:1791)
        at java.awt.Component.dispatchEvent(Component.java:3885)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Something must have changed in the way we generate BufferedImages.

Change History

comment:1 Changed 2008-02-11T12:20:48-06:00 by curtis

I tried it with r3520 and the code worked then. If this ticket is still open, I'll narrow it down further later when I have some time.

comment:2 Changed 2008-02-14T09:27:48-06:00 by melissa

  • Status changed from new to closed
  • Resolution set to fixed