icedtea + jalbum == no go, java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException

Bug #206007 reported by knarf
4
Affects Status Importance Assigned to Milestone
icedtea-java7 (Ubuntu)
Won't Fix
Undecided
Unassigned
openjdk-6 (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Jalbum (www.jalbum.org, web photo album software) does not run on iced tea. The program starts but it is unable to read image files making it somewhat useless. Switching to sun java makes jalbum happy again.

Jalbum has a setting for which image readers to use ('classic' or whatever goes for modern nowadays). Changing this setting does not solve this problem.

backtrace:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException
 at se.datadosen.jalbum.AlbumObjectImpl.isDisplayableImage(AlbumObjectImpl.java:428)
 at se.datadosen.explorer.JAlbumObject.<init>(JAlbumObject.java:98)
 at se.datadosen.explorer.JAlbumExplorer.addJAO(JAlbumExplorer.java:1477)
 at se.datadosen.explorer.JAlbumExplorer.viewFolder(JAlbumExplorer.java:1459)
 at se.datadosen.explorer.JAlbumExplorer$43.valueChanged(JAlbumExplorer.java:1086)
 at javax.swing.JTree.fireValueChanged(JTree.java:2923)
 at javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:3382)
 at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:637)
 at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1092)
 at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelectionModel.java:293)
 at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeSelectionModel.java:187)
 at javax.swing.JTree.setSelectionPath(JTree.java:1631)
 at se.datadosen.explorer.JAlbumExplorer.setRootFolder(JAlbumExplorer.java:1437)
 at se.datadosen.jalbum.JAlbumFrame.initView(JAlbumFrame.java:1317)
 at se.datadosen.jalbum.JAlbumFrame.engine2UI(JAlbumFrame.java:1243)
 at se.datadosen.jalbum.JAlbumFrame.engine2UI(JAlbumFrame.java:1214)
 at se.datadosen.jalbum.JAlbumFrame.loadProject(JAlbumFrame.java:1109)
 at se.datadosen.jalbum.JAlbumFrame$JAlbumFrameMenus$15.fileSelected(JAlbumFrame.java:1631)
 at se.datadosen.jalbum.JFileListMenu.fireFileSelected(JFileListMenu.java:186)
 at se.datadosen.jalbum.JFileListMenu.actionPerformed(JFileListMenu.java:159)
 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
 at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
 at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
 at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
 at javax.swing.AbstractButton.doClick(AbstractButton.java:374)
 at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1688)
 at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1732)
 at java.awt.Component.processMouseEvent(Component.java:6099)
 at javax.swing.JComponent.processMouseEvent(JComponent.java:3287)
 at java.awt.Component.processEvent(Component.java:5864)
 at java.awt.Container.processEvent(Container.java:2109)
 at java.awt.Component.dispatchEventImpl(Component.java:4460)
 at java.awt.Container.dispatchEventImpl(Container.java:2167)
 at java.awt.Component.dispatchEvent(Component.java:4286)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4465)
 at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4129)
 at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4059)
 at java.awt.Container.dispatchEventImpl(Container.java:2153)
 at java.awt.Window.dispatchEventImpl(Window.java:2554)
 at java.awt.Component.dispatchEvent(Component.java:4286)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Caused by: java.lang.ClassNotFoundException: com.sun.image.codec.jpeg.ImageFormatException
 at java.net.URLClassLoader$1.run(URLClassLoader.java:220)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:208)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
 ... 47 more

It is not clear yet whether this is an iced tea bug or a Classpath bug.

Revision history for this message
knarf (launchpad-ubuntu-f) wrote :

By the way: using latest Ubuntu Hardy (updated 20080324):

icedtea-java7-bin 7~b24-1.5+20080118-1
icedtea-java7-jre 7~b24-1.5+20080118-1

Jalbum 7.4

Albums contain JPEG images

Revision history for this message
Matti Lindell (mlind) wrote :

icedtea-java7 has been removed from Hardy recently, see bug #203636. Can you reproduce this with openjdk-6 ? Please remove all icedtea-java7 packages before testing.

If you also need the browser plugin for applets, install the icedtea-gcjwebplugin package.

Changed in icedtea-java7:
status: New → Incomplete
Revision history for this message
knarf (launchpad-ubuntu-f) wrote :
Download full text (4.7 KiB)

I purged my system from iced tea and installed openjdk-6 instead, followed by the browser plugin (icedtea-gcjwebplugin). The results are exactly the same:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException
 at se.datadosen.jalbum.AlbumFileFilter.accept(AlbumFileFilter.java:76)
 at java.io.File.listFiles(File.java:1149)
 at se.datadosen.jalbum.FileCollection.listFiles(FileCollection.java:194)
 at se.datadosen.jalbum.AlbumObjectImpl.getChildren(AlbumObjectImpl.java:477)
 at se.datadosen.explorer.JAlbumExplorer$FolderTreeNode.initialize(JAlbumExplorer.java:1596)
 at se.datadosen.explorer.JAlbumExplorer$FolderTreeNode.getChildCount(JAlbumExplorer.java:1580)
 at javax.swing.tree.DefaultTreeModel.getChildCount(DefaultTreeModel.java:184)
 at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1478)
 at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1287)
 at javax.swing.tree.VariableHeightLayoutCache.rebuild(VariableHeightLayoutCache.java:742)
 at javax.swing.tree.VariableHeightLayoutCache.setModel(VariableHeightLayoutCache.java:108)
 at javax.swing.plaf.basic.BasicTreeUI.setModel(BasicTreeUI.java:415)
 at javax.swing.plaf.basic.BasicTreeUI$Handler.propertyChange(BasicTreeUI.java:3359)
 at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:298)
 at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:291)
 at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:229)
 at java.awt.Component.firePropertyChange(Component.java:8001)
 at javax.swing.JTree.setModel(JTree.java:868)
 at se.datadosen.explorer.JAlbumExplorer.setRootFolder(JAlbumExplorer.java:1400)
 at se.datadosen.jalbum.JAlbumFrame.initView(JAlbumFrame.java:1317)
 at se.datadosen.jalbum.JAlbumFrame.engine2UI(JAlbumFrame.java:1243)
 at se.datadosen.jalbum.JAlbumFrame.engine2UI(JAlbumFrame.java:1214)
 at se.datadosen.jalbum.JAlbumFrame.loadProject(JAlbumFrame.java:1109)
 at se.datadosen.jalbum.JAlbumFrame$JAlbumFrameMenus$15.fileSelected(JAlbumFrame.java:1631)
 at se.datadosen.jalbum.JFileListMenu.fireFileSelected(JFileListMenu.java:186)
 at se.datadosen.jalbum.JFileListMenu.actionPerformed(JFileListMenu.java:159)
 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
 at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
 at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
 at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
 at javax.swing.AbstractButton.doClick(AbstractButton.java:374)
 at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1688)
 at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1732)
 at java.awt.Component.processMouseEvent(Component.java:6101)
 at javax.swing.JComponent.processMouseEvent(JComponent.java:3276)
 at java.awt.Component.processEvent(Component.java:5866)
 at java.awt.Container.processEvent(Container.java:2105)
 at java.awt.Component.dispatchEventImpl(Component.java:4462)
 at java.awt.Containe...

Read more...

Revision history for this message
Matthias Klose (doko) wrote :

please could you confirm, if this works with sun-java5-jre *and* sun-jva6-jre?

Changed in icedtea-java7:
status: Incomplete → Won't Fix
Changed in openjdk-6:
status: New → Incomplete
Revision history for this message
Onkar Shinde (onkarshinde) wrote :

Classes in package com.sun.image.codec.jpeg are not part of core java apis. http://java.sun.com/j2se/1.3/docs/guide/2d/api-jpeg/com/sun/image/codec/jpeg/ImageFormatException.html
They will be never available in any Free java implementations.

Changed in openjdk-6:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.