Bug 560193

Summary: error trying to run java applets that used to work and still work elsewhere
Product: [Fedora] Fedora Reporter: Donald Cohen <don-redhat-z6y>
Component: java-1.6.0-openjdkAssignee: Deepak Bhole <dbhole>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 13CC: ahughes, dbhole, jpechane, lkundrak, mark, rruss, rutger.noot, sergio
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-13 17:56:02 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Donald Cohen 2010-01-30 02:57:36 EST
Description of problem:
Here's the transcript from trying to run two different closely related java applets:
[2010-01-29 22:37:44 root@number11 ~/workspace/com.sonariov1]

$ firefox &
firefox &

[3] 31720

[2010-01-29 22:37:48 root@number11 ~/workspace/com.sonariov1]

$ IcedTeaPlugin.cc:1655: Error: liveconnect

*** NSPlugin Wrapper *** ERROR: NPClass::Invalidate() wait for reply: No child processes

Exception in thread "Applet" java.lang.NoClassDefFoundError: diamondedge/vb/TitledPanel

	at java.lang.ClassLoader.defineClass1(Native Method)

	at java.lang.ClassLoader.defineClass(ClassLoader.java:632)

	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

	at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)

	at java.net.URLClassLoader.access$000(URLClassLoader.java:73)

	at java.net.URLClassLoader$1.run(URLClassLoader.java:212)

	at java.security.AccessController.doPrivileged(Native Method)

	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)

	at java.lang.ClassLoader.loadClass(ClassLoader.java:319)

	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)

	at java.lang.ClassLoader.loadClass(ClassLoader.java:264)

	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)

	at java.lang.Class.getDeclaredConstructors0(Native Method)

	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2406)

	at java.lang.Class.getConstructor0(Class.java:2716)

	at java.lang.Class.newInstance0(Class.java:343)

	at java.lang.Class.newInstance(Class.java:325)

	at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:572)

	at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:532)

	at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:711)

Caused by: java.lang.ClassNotFoundException: diamondedge.vb.TitledPanel

	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)

	at java.security.AccessController.doPrivileged(Native Method)

	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)

	at java.lang.ClassLoader.loadClass(ClassLoader.java:319)

	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)

	at java.lang.ClassLoader.loadClass(ClassLoader.java:264)

	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)

	... 20 more

java.lang.NullPointerException

	at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:99)

	at sun.applet.AppletPanel.run(AppletPanel.java:380)

	at java.lang.Thread.run(Thread.java:636)

java.lang.NullPointerException

	at sun.applet.AppletPanel.run(AppletPanel.java:430)

	at java.lang.Thread.run(Thread.java:636)

java.util.zip.ZipException: error in opening zip file

	at java.util.zip.ZipFile.open(Native Method)

	at java.util.zip.ZipFile.<init>(ZipFile.java:131)

	at java.util.jar.JarFile.<init>(JarFile.java:150)

	at java.util.jar.JarFile.<init>(JarFile.java:101)

	at net.sourceforge.jnlp.tools.JarSigner.verifyJar(JarSigner.java:248)

	at net.sourceforge.jnlp.runtime.JNLPClassLoader$1.run(JNLPClassLoader.java:594)

	at java.security.AccessController.doPrivileged(Native Method)

	at net.sourceforge.jnlp.runtime.JNLPClassLoader.activateJars(JNLPClassLoader.java:642)

	at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:399)

	at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:163)

	at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:226)

	at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:559)

	at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:532)

	at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:711)

Exception in thread "Applet" java.lang.NoClassDefFoundError: diamondedge/vb/TitledPanel

	at java.lang.ClassLoader.defineClass1(Native Method)

	at java.lang.ClassLoader.defineClass(ClassLoader.java:632)

	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

	at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)

	at java.net.URLClassLoader.access$000(URLClassLoader.java:73)

	at java.net.URLClassLoader$1.run(URLClassLoader.java:212)

	at java.security.AccessController.doPrivileged(Native Method)

	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)

	at java.lang.ClassLoader.loadClass(ClassLoader.java:319)

	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)

	at java.lang.ClassLoader.loadClass(ClassLoader.java:264)

	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)

	at java.lang.Class.getDeclaredConstructors0(Native Method)

	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2406)

	at java.lang.Class.getConstructor0(Class.java:2716)

	at java.lang.Class.newInstance0(Class.java:343)

	at java.lang.Class.newInstance(Class.java:325)

	at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:572)

	at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:532)

	at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:711)

Caused by: java.lang.ClassNotFoundException: diamondedge.vb.TitledPanel

	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)

	at java.security.AccessController.doPrivileged(Native Method)

	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)

	at java.lang.ClassLoader.loadClass(ClassLoader.java:319)

	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)

	at java.lang.ClassLoader.loadClass(ClassLoader.java:264)

	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)

	... 20 more

java.lang.NullPointerException

	at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:99)

	at sun.applet.AppletPanel.run(AppletPanel.java:380)

	at java.lang.Thread.run(Thread.java:636)

java.lang.NullPointerException

	at sun.applet.AppletPanel.run(AppletPanel.java:430)

	at java.lang.Thread.run(Thread.java:636)



Version-Release number of selected component (if applicable):
firefox-3.5.6-1.fc11.x86_64
Add-ons - plugins shows
 icedtea java web browser plugin 1.6 (fedora-30.b16.fc11-x86_64)

How reproducible:
The first one by going to
http://saturnids.spicenet.net/sonario/develop081125/develop081125-mysql.html
the second
http://saturnids.spicenet.net/sonario/KB100125/KB100125-mysql.html

Steps to Reproduce:
1. run firefox as shown above
2. go to the first url to get the first backtrace
3. go to the second url to get the second backtrace
  
Actual results:
as shown above

Expected results:
run the applet -- should show a login page

Additional info:
I've just installed web developer tools in order to be able to see these backtraces but now that I can get a java console, the backtraces appear in the shell again as shown above.  Before I got nothing on the shell.  However I think before web developer tools I may have reached the login box in one case and then after trying to login I think I got some sort of PKI message.
In any case, if you can get the login form, just try to login with no user/password - it ought to tell you (after a short delay) that the login failed.  I've not made it that far recently.  (I used to use these a lot but then didn't use them until recently when I found I couldn't.)
Comment 1 Donald Cohen 2010-02-17 04:10:25 EST
I now get an error from another applet:
java.lang.NoSuchMethodError: DNDTree.<init>(Ljavax/swing/tree/DefaultMutableTreeNode;Z)V

	at RelationTree.<init>(RelationTree.java:208)

	at MikojoCustomizer.commonCustomizerInit(MikojoCustomizer.java:471)

	at MikojoCustomizer.<init>(MikojoCustomizer.java:723)

	at MikojoApplet.init(MikojoApplet.java:68)

	at sun.applet.AppletPanel.run(AppletPanel.java:436)

	at java.lang.Thread.run(Thread.java:636)
Comment 2 Sergio Monteiro Basto 2010-03-01 12:40:46 EST
Hi, I think I have the same problem:

http://www.ies.co.jp/math/products/geo1/applets/gaikaku/gaikaku.html

this applets run with java plugin 1.6 on windows and in fedora 12 , give me a stupid error: 
Exception in thread "Applet" java.lang.ClassFormatError: Invalid start_pc 65535 in LocalVariableTable in class file gaikaku
Comment 3 Bug Zapper 2010-04-28 07:46:54 EDT
This message is a reminder that Fedora 11 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 11.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '11'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 11's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 11 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 4 Rutger Noot 2010-05-19 16:01:26 EDT
I just upgraded from java-1.6.0-openjdk-1.6.0.0-34.b17.fc11.x86_64
to java-1.6.0-openjdk-1.6.0.0-35.b18.fc11.x86_64
(and same for the plugins) and this seems to break the java VM. Applets working previously do not work anymore. As I can't find the old .rpm's I can't tell for sure that the upgrade is at fault.
Comment 5 Sergio Monteiro Basto 2010-05-21 17:41:28 EDT
(In reply to comment #4)
> I just upgraded from java-1.6.0-openjdk-1.6.0.0-34.b17.fc11.x86_64
> to java-1.6.0-openjdk-1.6.0.0-35.b18.fc11.x86_64
> (and same for the plugins) and this seems to break the java VM. Applets working
> previously do not work anymore. As I can't find the old .rpm's I can't tell for
> sure that the upgrade is at fault.    

I can find here 
http://koji.fedoraproject.org/koji/packageinfo?packageID=5920
Comment 6 Donald Cohen 2010-05-21 18:00:20 EDT
(In reply to comment #2)
> Hi, I think I have the same problem: 
> http://www.ies.co.jp/math/products/geo1/applets/gaikaku/gaikaku.html
> this applets run with java plugin 1.6 on windows and in fedora 12 , give me a
> stupid error: 
> Exception in thread "Applet" java.lang.ClassFormatError: Invalid start_pc 65535
> in LocalVariableTable in class file gaikaku    

I just tried this and it crashed my firefox - twice in a row
uname => 2.6.32.11-99.fc12.x86_64
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100330 Fedora/3.5.9-2.fc12 Firefox/3.5.9
May 18 10:41:25 Updated: 1:java-1.6.0-openjdk-plugin-1.6.0.0-38.b18.fc12.x86_64
May 18 10:41:31 Updated: 1:java-1.6.0-openjdk-devel-1.6.0.0-38.b18.fc12.x86_64
Comment 7 Donald Cohen 2010-06-03 17:23:25 EDT
I don't know whether this is related, but another applet that crashes FF:
https://pantherfile.uwm.edu/msw/www/CrankShaft/index.html
Here's the shell transcript:
$ firefox &
[1] 25384
$ java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8) (fedora-38.b18.fc12-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

(firefox:25420): GLib-CRITICAL **: g_strsplit: assertion `string != NULL' failed

(firefox:25420): GLib-CRITICAL **: g_strv_length: assertion `str_array != NULL' failed
/usr/lib64/firefox-3.5/run-mozilla.sh: line 131: 25420 Segmentation fault      (core dumped) "$prog" ${1+"$@"}

[1]+  Exit 139                firefox
Comment 8 Donald Cohen 2010-06-22 13:48:51 EDT
I now have another one that crashes my firefox:
http://collabrium.cs3-inc.com:8200/de/de-sample3.html
Comment 9 Donald Cohen 2010-06-22 14:23:48 EDT
Just upgraded to
Jun 22 10:57:29 Updated: 1:java-1.6.0-openjdk-plugin-1.6.0.0-39.b18.fc12.x86_64

Looks pretty similar:

LoadPlugin: failed to initialize shared library /root/.mozilla/plugins/nppdf.so [/root/.mozilla/plugins/nppdf.so: wrong ELF class: ELFCLASS32]

  btw, what's that plugin?

java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8) (fedora-39.b18.fc12-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

(firefox:5459): GLib-CRITICAL **: g_strsplit: assertion `string != NULL' failed

(firefox:5459): GLib-CRITICAL **: g_strv_length: assertion `str_array != NULL' failed
/usr/lib64/firefox-3.5/run-mozilla.sh: line 131:  5459 Segmentation fault      (core dumped) "$prog" ${1+"$@"}
Comment 10 Rutger Noot 2010-06-22 16:33:09 EDT
In my case, the upgrade to 

java-1.6.0-openjdk.x86_64 1:1.6.0.0-36.b18.fc11

has fixed it.
Comment 11 Bug Zapper 2010-06-28 11:38:58 EDT
Fedora 11 changed to end-of-life (EOL) status on 2010-06-25. Fedora 11 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.
Comment 12 Donald Cohen 2010-06-28 12:57:30 EDT
Is reopening done by just changing the version?
That's what I tried.  Or does the fact that it's closed/wontfixed mean that
is not going to be adequate to get it looked at.  I think the recent additions may be unrelated to the earlier entries.
Should I copy those to a new bug?
Comment 13 Deepak Bhole 2010-06-28 16:40:55 EDT
This will be fixed in F13. The fix is already upstream.

I am going to re-open this in the mean time though, until it trickles into Fedora.
Comment 14 Sergio Monteiro Basto 2010-06-28 16:45:56 EDT
Too late :) 
 
(In reply to comment #12)
> Is reopening done by just changing the version?

No, you need change the STATUS to reopen ,  or anything that looks the correct status.
Comment 15 Donald Cohen 2010-06-28 16:58:58 EDT
So there won't be a fix for f12 ?  I have to move to 13?
Also, are all these the same bug?
The firefox crashes as well as GLib-CRITICAL ?
Comment 16 Deepak Bhole 2010-07-05 15:54:29 EDT
(In reply to comment #2)
> Hi, I think I have the same problem:
> 
> http://www.ies.co.jp/math/products/geo1/applets/gaikaku/gaikaku.html
> 
> this applets run with java plugin 1.6 on windows and in fedora 12 , give me a
> stupid error: 
> Exception in thread "Applet" java.lang.ClassFormatError: Invalid start_pc 65535
> in LocalVariableTable in class file gaikaku    

That error is due to a bug in the .class file hosted on the site. The same error occurs with the Sun plugin in Linux. You will have to email the owner of the site to recompile their classes correctly.
Comment 17 Donald Cohen 2010-08-26 13:23:51 EDT
I don't know whether this should be considered the same bug but I currently get the following from 
http://saturnids.spicenet.net/sonario/westvaco100812/westvaco100812-mysql.html
 java.util.zip.ZipException: error in opening zip file
	at java.util.zip.ZipFile.open(Native Method)
	at java.util.zip.ZipFile.<init>(ZipFile.java:131)
	at java.util.jar.JarFile.<init>(JarFile.java:150)
	at java.util.jar.JarFile.<init>(JarFile.java:101)
	at net.sourceforge.jnlp.tools.JarSigner.verifyJar(JarSigner.java:250)
(I can supply more backtrace if that will help.)
There are errors from the certificate and but in windows this just gives me another popup that I have to okay.
I'm currently running 2.6.32.16-141.fc12.x86_64 with 
java-1.6.0-openjdk-devel-1.6.0.0-40.b18.fc12.x86_64
Comment 18 Andrew John Hughes 2010-10-13 17:56:02 EDT
This should be in the upcoming java-1.6.0-openjdk-1.6.0.0-43.1.8.2.fc13.  Please reopen if not.
Comment 19 Donald Cohen 2010-10-21 13:52:08 EDT
Updated: 1:java-1.6.0-openjdk-1.6.0.0-41.1.8.2.fc12.x86_64
Most of above now work!  Thanks.
Crankshaft gives me
Exception in thread "Thread-47" java.lang.NullPointerException
	at sun.applet.AppletPanel.showAppletStatus(AppletPanel.java:947)
	at sun.applet.AppletPanel.run(AppletPanel.java:607)
	at java.lang.Thread.run(Thread.java:636)
Error: Unable to fetch applet instance id from Java side.
but I don't know whether that's a problem with the applet, the site or java.
gaikaku still seems to go into 100% cpu mode.
Again, that's not mine so I don't know whether it's java's fault.
Comment 20 Donald Cohen 2010-10-21 14:06:09 EDT
correction to above - I restarted and ran gaikaku - not 100% cpu but it does make firefox non-responsive for a while.  I think this is all output from that.
 java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.2) (fedora-41.1.8.2.fc12-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet.
	at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:604)
	at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:548)
	at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:729)
Caused by: java.lang.NullPointerException
	at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:588)
	... 2 more
Caused by: 
java.lang.NullPointerException
	at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:588)
	at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:548)
	at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:729)
java.lang.NullPointerException
	at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:99)
	at sun.applet.AppletPanel.run(AppletPanel.java:380)
	at java.lang.Thread.run(Thread.java:636)
java.lang.NullPointerException
	at sun.applet.AppletPanel.run(AppletPanel.java:430)
	at java.lang.Thread.run(Thread.java:636)
java.lang.Exception: Applet initialization timeout
	at sun.applet.PluginAppletViewer.handleMessage(PluginAppletViewer.java:637)
	at sun.applet.PluginStreamHandler.handleMessage(PluginStreamHandler.java:270)
	at sun.applet.PluginMessageHandlerWorker.run(PluginMessageHandlerWorker.java:82)
java.lang.RuntimeException: Failed to handle message: handle 62919919 for instance 1
	at sun.applet.PluginAppletViewer.handleMessage(PluginAppletViewer.java:660)
	at sun.applet.PluginStreamHandler.handleMessage(PluginStreamHandler.java:270)
	at sun.applet.PluginMessageHandlerWorker.run(PluginMessageHandlerWorker.java:82)
Caused by: java.lang.Exception: Applet initialization timeout
	at sun.applet.PluginAppletViewer.handleMessage(PluginAppletViewer.java:637)
	... 2 more
Error: Unable to fetch applet instance id from Java side.
Error: Unable to fetch applet instance id from Java side.
/builddir/build/BUILD/icedtea6-1.8.2/plugin/icedteanp/IcedTeaNPPlugin.cc:622: thread 0x7f1c5021b780: Error: Unknown plugin value requested.
Comment 21 Donald Cohen 2010-10-21 14:08:58 EDT
crankshaft did go into 100% cpu for a while and then gave this output
java.lang.Exception: Applet initialization timeout
	at sun.applet.PluginAppletViewer.handleMessage(PluginAppletViewer.java:637)
	at sun.applet.PluginStreamHandler.handleMessage(PluginStreamHandler.java:270)
	at sun.applet.PluginMessageHandlerWorker.run(PluginMessageHandlerWorker.java:82)
java.lang.RuntimeException: Failed to handle message: handle 62949012 for instance 2
	at sun.applet.PluginAppletViewer.handleMessage(PluginAppletViewer.java:660)
	at sun.applet.PluginStreamHandler.handleMessage(PluginStreamHandler.java:270)
	at sun.applet.PluginMessageHandlerWorker.run(PluginMessageHandlerWorker.java:82)
Caused by: java.lang.Exception: Applet initialization timeout
	at sun.applet.PluginAppletViewer.handleMessage(PluginAppletViewer.java:637)
	... 2 more
Comment 22 Deepak Bhole 2010-10-21 16:18:49 EDT
(In reply to comment #19)
> Updated: 1:java-1.6.0-openjdk-1.6.0.0-41.1.8.2.fc12.x86_64
> Most of above now work!  Thanks.
> Crankshaft gives me
> Exception in thread "Thread-47" java.lang.NullPointerException
>  at sun.applet.AppletPanel.showAppletStatus(AppletPanel.java:947)
>  at sun.applet.AppletPanel.run(AppletPanel.java:607)
>  at java.lang.Thread.run(Thread.java:636)
> Error: Unable to fetch applet instance id from Java side.

That exception is the fault of the plugin. Changes are being made upstream (either already done, or in progress) to re-architect some of initialization code, and that will take care of exceptions like the one above amongst other things. The error is due to a race condition and if you see if, try refreshing the page to re-load the applet.

gaikaku failure is not the plugin's fault. The bytecode on the server side is incorrect. It is this issue:

https://bugzilla.redhat.com/show_bug.cgi?id=351381

The site owner needs to re-compile the Java classes.