JDK-6765518 : Applet hangs when loaded many times from the same jar (Linux+Firefox3+Java1.6)
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux
  • CPU: x86
  • Submitted: 2008-10-30
  • Updated: 2011-02-16
  • Resolved: 2008-11-14
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.6.0_04"
java version "1.6.0_05"
java version "1.6.0_06"
java version "1.6.0_07"

ADDITIONAL OS VERSION INFORMATION :
Linux ubuntu 2.6.20-16-generic #2 SMP Sun Sep 23 19:50:39 UTC 2007 i686 GNU/Linux
Linux redhat64 2.6.18-92.el5 #1 SMP Tue Apr 13:16:15 EDT 2008 x86_64 GNU/Linux

EXTRA RELEVANT SYSTEM CONFIGURATION :
Firefox 3.x browser

A DESCRIPTION OF THE PROBLEM :
Applet hangs when loaded many times from the same jar under firefox3/Java1.6.0_04+/Linux (refreshing the same page or switching between linked pages)

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Two ways to reproduce the bug :

1. Open a page with an applet, when the applet is successfully loaded use the reload/refresh button of the browser to reload the page

2. Different pages load the same jar and they contain user links to switch between them. If these page are opened in a frame of a master page then the bug occurs when the first applet is destroyed (when
the page changes).

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Applets should be created as usual.
ACTUAL -
Applet in the new page : freezed UI or status ���applet notinited���
Applet of the previous page when destroying : browser status ���applet bail��� and/or java.lang.InterruptedException


ERROR MESSAGES/STACK TRACES THAT OCCUR :
basic: Chargement de l'applet...
basic: Initialisation de l'applet...
basic: D��marrage de l'applet...
basic: completed perf rollup
Hello world !
basic: Thread d'applet joint...
java.lang.InterruptedException
                at java.lang.Object.wait(Native Method)
                at java.lang.Thread.join(Thread.java:1143)
                at java.lang.Thread.join(Thread.java:1196)
                at sun.applet.AppletPanel.run(AppletPanel.java:404)
                at java.lang.Thread.run(Thread.java:619)
basic: Exception : java.lang.InterruptedException
java.lang.InterruptedException
                at java.lang.Object.wait(Native Method)
                at java.lang.Thread.join(Thread.java:1143)
                at java.lang.Thread.join(Thread.java:1196)
                at sun.applet.AppletPanel.run(AppletPanel.java:404)
                at java.lang.Thread.run(Thread.java:619)
java.lang.ThreadDeath
                at java.lang.Thread.stop(Thread.java:715)
                at java.lang.ThreadGroup.stopOrSuspend(ThreadGroup.java:666)
                at java.lang.ThreadGroup.stop(ThreadGroup.java:580)
                at sun.awt.AppContext.dispose(AppContext.java:440)
                at
sun.applet.AppletClassLoader.release(AppletClassLoader.java:752)
                at
sun.plugin.security.PluginClassLoader.release(PluginClassLoader.java:441)
                at sun.applet.AppletPanel.release(AppletPanel.java:181)
                at sun.applet.AppletPanel.sendEvent(AppletPanel.java:292)
                at
sun.plugin.AppletViewer.onPrivateClose(AppletViewer.java:1113)
                at sun.plugin.AppletViewer$4.run(AppletViewer.java:1062)
                at java.lang.Thread.run(Thread.java:619)

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
import java.applet.Applet;

public class HelloWorld extends Applet {

	private static final long serialVersionUID = -5725261449143019265L;

	public void start() {
		System.out.println("Hello world !");
	}
	
	public HelloWorld() {}
}
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
1. Reinstall a previous Java plugin (< 1.6.0_04)
2. Generate an UID for each applet declaration : <applet code="HelloWord.class" archive="HelloWord.jar?uid"> but then the applets cannot share data (via static members for example)

Release Regression From : 6u4
The above release value was the last known release where this 
bug was not reproducible. Since then there has been a regression.

Comments
EVALUATION The new Java Plug-In in 6u10 addresses longstanding reliability problems such as this one. Confirmed that with Firefox 3 and 6u10 on Solaris/x86 that the issue is no longer reproducible. Users of all previous versions of the Java Plug-In should upgrade to 6u10. For bookkeeping purposes closing this bug as a duplicate of 6622332 (Initial integration of new Java Plug-In).
14-11-2008

EVALUATION This bug is mis-filed. This is exactly the kind of problem the new Java Plug-In is designed to fix. The customer clearly isn't using the new plug-in because they are running with releases prior to 6u10. Please ask them to try the new Java Plug-In.
30-10-2008