Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6765518

Applet hangs when loaded many times from the same jar (Linux+Firefox3+Java1.6)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P2 P2
    • None
    • 6
    • deploy
    • x86
    • linux

      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.

            kbr Kenneth Russell (Inactive)
            ndcosta Nelson Dcosta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: