This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 71336 - Some PNGs fail to load in ImageViewer
Summary: Some PNGs fail to load in ImageViewer
Status: CLOSED FIXED
Alias: None
Product: utilities
Classification: Unclassified
Component: Image (show other bugs)
Version: 5.x
Hardware: All All
: P3 blocker (vote)
Assignee: issues@utilities
URL:
Keywords: JDK_SPECIFIC
: 71733 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-01-13 02:28 UTC by jozart
Modified: 2011-06-09 09:51 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
8 bpp with 4 palette entries (176 bytes, image/png)
2006-01-13 02:31 UTC, jozart
Details

Note You need to log in before you can comment on or make changes to this bug.
Description jozart 2006-01-13 02:28:32 UTC
8 bit/pixel indexed PNG images with fewer than 128 entries in the palette chunk
cannot be decoded.

Reproduce:

Add one of these images to your project and then try to view it in NetBeans (via
double-click). NetBeans throws an exception (see trace below).

The problem, according to the JAI-IMAGEIO investigator, occurs because NetBeans
is using the buggy core J2SE PNG plug-in.

See the following bug reports (with attached image) for details:

https://jai-imageio-core.dev.java.net/issues/show_bug.cgi?id=45
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5098176

Suggested fix:

Use JAI-Image I/O Tools com.sun.media.imageioimpl.plugins.png.CLibPNGImageReader
or use the JAI PNG decoder.

*********** Exception occurred ************ at 1:06 AM on Dec 24, 2005
java.lang.IllegalArgumentException: LUT has improper length!
	at javax.imageio.ImageTypeSpecifier$Indexed.<init>(ImageTypeSpecifier.java:866)
	at javax.imageio.ImageTypeSpecifier.createIndexed(ImageTypeSpecifier.java:955)
	at
com.sun.imageio.plugins.png.PNGImageReader.getImageTypes(PNGImageReader.java:1463)
	at com.sun.imageio.plugins.png.PNGImageReader.readImage(PNGImageReader.java:1348)
	at com.sun.imageio.plugins.png.PNGImageReader.read(PNGImageReader.java:1530)
	at javax.imageio.ImageIO.read(ImageIO.java:1400)
	at javax.imageio.ImageIO.read(ImageIO.java:1322)
	at org.netbeans.modules.image.ImageDataObject.getImage(ImageDataObject.java:145)
	at org.netbeans.modules.image.NBImageIcon.load(NBImageIcon.java:52)
	at org.netbeans.modules.image.ImageViewer.loadImage(ImageViewer.java:274)
	at org.netbeans.modules.image.ImageViewer.initialize(ImageViewer.java:128)
	at org.netbeans.modules.image.ImageViewer.<init>(ImageViewer.java:102)
	at
org.netbeans.modules.image.ImageOpenSupport.createCloneableTopComponent(ImageOpenSupport.java:74)
	at
org.openide.windows.CloneableOpenSupport.openCloneableTopComponent(CloneableOpenSupport.java:169)
	at org.openide.windows.CloneableOpenSupport$1.run(CloneableOpenSupport.java:70)
	at org.openide.util.Mutex.doEvent(Mutex.java:1126)
	at org.openide.util.Mutex.writeAccess(Mutex.java:343)
	at org.openide.windows.CloneableOpenSupport.open(CloneableOpenSupport.java:67)
	at org.openide.actions.OpenAction.performAction(OpenAction.java:53)
	at org.openide.util.actions.NodeAction$3.run(NodeAction.java:531)
	at
org.netbeans.modules.openide.util.ActionsBridge.doPerformAction(ActionsBridge.java:47)
	at
org.openide.util.actions.NodeAction$DelegateAction.actionPerformed(NodeAction.java:527)
	at org.openide.explorer.view.TreeView$PopupSupport.mouseClicked(TreeView.java:1356)
	at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:212)
	at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:211)
	at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:211)
	at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:211)
	at java.awt.Component.processMouseEvent(Component.java:5491)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
	at java.awt.Component.processEvent(Component.java:5253)
	at java.awt.Container.processEvent(Container.java:1966)
	at java.awt.Component.dispatchEventImpl(Component.java:3955)
	at java.awt.Container.dispatchEventImpl(Container.java:2024)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3901)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
	at java.awt.Container.dispatchEventImpl(Container.java:2010)
	at java.awt.Window.dispatchEventImpl(Window.java:1774)
	at java.awt.Component.dispatchEvent(Component.java:3803)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
[catch] at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
	at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
*********** Exception occurred ************ at 1:06 AM on Dec 24, 2005
Comment 1 jozart 2006-01-13 02:31:38 UTC
Created attachment 28371 [details]
8 bpp with 4 palette entries
Comment 2 Marian Petras 2006-07-04 17:11:36 UTC
jozart, thank you for the bug report and for the pointer to the JDK bug.

I tested it on my Linux machine and found (as expected) that:

  - I can reproduce it with NetBeans running on JDK 1.5.0_07
  - I cannot reproduce it with NetBeans running on JDK 1.6.0 (b90)

I am not sure this bug is worth adding the JAI library to the NetBeans distribution.
Comment 3 Marian Petras 2006-07-04 17:13:53 UTC
*** Issue 71733 has been marked as a duplicate of this issue. ***
Comment 4 Roman Ondruska 2007-08-16 15:00:39 UTC
This is JDK bug already fixed in JDK 1.5.0_08 (~Update 8)
Comment 5 Marian Mirilovic 2011-06-09 09:51:50 UTC
v/c