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

Applet Deadlock During Initialization

XMLWordPrintable

    • b01
    • x86
    • windows_xp
    • Not verified

      FULL PRODUCT VERSION :
      all Java 1.6.x versions

      ADDITIONAL OS VERSION INFORMATION :
      Windows XP and Windows Vista

      A DESCRIPTION OF THE PROBLEM :
      We observe an occasional deadlock during applet initialization. Using JConsole, we see that the AWT-EventQueue-0 thread is deadlocked with the applet initialization thread. The stack trace shows the deadlock occurs before our applet code. It's during the construction of the JApplet. Here's the stack trace of both threads:

      Name: Thread-39
      State: BLOCKED on sun.awt.windows.WDesktopProperties@2a3135 owned by:
      AWT-EventQueue-0
        Total blocked: 1 Total waited: 0

      Stack trace:
      sun.awt.windows.WDesktopProperties.removePropertyChangeListener(Unknown Source)
      sun.awt.windows.WToolkit.removePropertyChangeListener(Unknown Source)
         - locked sun.awt.windows.WToolkit@19616c7
      javax.swing.plaf.metal.MetalLookAndFeel$AATextListener.dispose(Unknown Source)
      javax.swing.plaf.metal.MetalLookAndFeel.flushUnreferenced(Unknown Source)
      javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(Unknown Source)
      javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(Unknown Source)
      javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(Unknown Source)
      javax.swing.UIManager.setLookAndFeel(Unknown Source)
      javax.swing.UIManager.setLookAndFeel(Unknown Source)
      javax.swing.UIManager.initializeDefaultLAF(Unknown Source)
      javax.swing.UIManager.initialize(Unknown Source)
      javax.swing.UIManager.maybeInitialize(Unknown Source)
         - locked java.lang.Object@1c8c58
      javax.swing.UIManager.getUI(Unknown Source)
      javax.swing.JPanel.updateUI(Unknown Source)
      javax.swing.JPanel.<init>(Unknown Source)
      javax.swing.JPanel.<init>(Unknown Source)
      javax.swing.JPanel.<init>(Unknown Source)
      javax.swing.JRootPane.createGlassPane(Unknown Source)
      javax.swing.JRootPane.<init>(Unknown Source)
      javax.swing.JApplet.createRootPane(Unknown Source)
      javax.swing.JApplet.<init>(Unknown Source)
      com.adaptiveplanning.ui.desktop.aptreetable.APTreeTableApplet.<init>(APTreeTableApplet.java:40)
      sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      java.lang.reflect.Constructor.newInstance(Unknown Source)
      java.lang.Class.newInstance0(Unknown Source)
      java.lang.Class.newInstance(Unknown Source)
      sun.applet.AppletPanel.createApplet(Unknown Source)
      sun.plugin.AppletViewer.createApplet(Unknown Source)
      sun.applet.AppletPanel.runLoader(Unknown Source)
      sun.applet.AppletPanel.run(Unknown Source)
      java.lang.Thread.run(Unknown Source)

      ------------------------------------------------------------------------------

      Name: AWT-EventQueue-0
      State: BLOCKED on java.lang.Object@1c8c58 owned by: Thread-39
        Total blocked: 1 Total waited: 0

      Stack trace:
      javax.swing.UIManager.maybeInitialize(Unknown Source)
      javax.swing.UIManager.getLookAndFeel(Unknown Source)
      com.sun.java.swing.plaf.windows.DesktopProperty$WeakPCL.propertyChange(Unknown
      Source)
      java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
      java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
      java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
      sun.awt.windows.WDesktopProperties.diffPropertyChanges(Unknown Source)
         - locked sun.awt.windows.WDesktopProperties@2a3135
      sun.awt.windows.WDesktopProperties.access$100(Unknown Source)
      sun.awt.windows.WDesktopProperties$DiffPropertyChanges.run(Unknown Source)
      java.awt.event.InvocationEvent.dispatch(Unknown Source)
      java.awt.EventQueue.dispatchEvent(Unknown Source)
      java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
      java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
      java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
      java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      java.awt.EventDispatchThread.pumpEvents(Unknown Source)
      java.awt.EventDispatchThread.run(Unknown Source)


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      This happens intermittently as the apple loads in the IE browser

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      No deadlock
      ACTUAL -
      Sometimes deadlocks

      REPRODUCIBILITY :
      This bug can be reproduced occasionally.

            kbr Kenneth Russell (Inactive)
            igor Igor Nekrestyanov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: