We have two html frames, one frame contains the applet and the other frame is used for navigation and contains html links. When a JMenu in the applet is open, clicking on one of the html links in the navigation frame causes the browser to freeze.
The problem appears both on Windows NT and Windows 2000 with Internet Explorer. It occurs with 1.3.1_02, 1.3.1_03, and the latest build of 1.3.1_04, but NOT in 1.4.0.
Here is the JDB output after the system hangs:
C:\jdk1.3.1_02\bin>jdb -attach 2502
Initializing jdb...
> suspend
All threads suspended.
> where all
Thread-8:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] com.kronos.wfc.wfp.uiframework.datamanager.NotifyingQueue.dequeue ()
[4] com.kronos.wfc.wfp.uiframework.datamanager.RetrieveObjectsFromServer.run (
)
TimerQueue:
[1] java.lang.Object.wait (native method)
[2] javax.swing.TimerQueue.run (TimerQueue.java:233)
[3] java.lang.Thread.run (Thread.java:484)
thread applet-com/kronos/wfc/applets/summary/quick/QuickFindApplet.class:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] sun.applet.AppletPanel.getNextEvent (AppletPanel.java:269)
[4] sun.applet.AppletPanel.run (AppletPanel.java:301)
[5] java.lang.Thread.run (Thread.java:484)
SunToolkit.PostEventQueue-2:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] sun.awt.PostEventQueue.run (SunToolkit.java:491)
AWT-EventQueue-2:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] java.awt.EventQueue.getNextEvent (EventQueue.java:260)
[4] java.awt.EventDispatchThread.pumpOneEventForHierarchy (EventDispatchThread
.java:106)
[5] java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.j
ava:98)
[6] java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:93)
[7] java.awt.EventDispatchThread.run (EventDispatchThread.java:85)
Screen Updater:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] sun.awt.ScreenUpdater.nextEntry (ScreenUpdater.java:76)
[4] sun.awt.ScreenUpdater.run (ScreenUpdater.java:95)
Thread-2:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] com.sun.media.sound.EventDispatcher.dispatchEvents (EventDispatcher.java:1
44)
[4] com.sun.media.sound.EventDispatcher.run (EventDispatcher.java:195)
Thread-1:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] com.sun.media.sound.EventDispatcher.dispatchEvents (EventDispatcher.java:1
44)
[4] com.sun.media.sound.EventDispatcher.run (EventDispatcher.java:195)
TimerQueue:
[1] java.lang.Object.wait (native method)
[2] javax.swing.TimerQueue.run (TimerQueue.java:233)
[3] java.lang.Thread.run (Thread.java:484)
Main Console Writer:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] sun.plugin.MainConsoleWriter.run ()
[4] java.lang.Thread.run (Thread.java:484)
AWT-Windows:
[1] sun.awt.windows.WToolkit.eventLoop (native method)
[2] sun.awt.windows.WToolkit.run (WToolkit.java:188)
[3] java.lang.Thread.run (Thread.java:484)
SunToolkit.PostEventQueue-0:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] sun.awt.PostEventQueue.run (SunToolkit.java:491)
AWT-EventQueue-0:
[1] sun.awt.windows.WComponentPeer.pRequestFocus (native method)
[2] sun.awt.windows.WComponentPeer.requestFocus (WComponentPeer.java:316)
[3] java.awt.Container.proxyRequestFocus (Container.java:1344)
[4] java.awt.Container.proxyRequestFocus (Container.java:1330)
[5] java.awt.Container.proxyRequestFocus (Container.java:1330)
[6] java.awt.Container.proxyRequestFocus (Container.java:1330)
[7] java.awt.Container.proxyRequestFocus (Container.java:1330)
[8] java.awt.Container.proxyRequestFocus (Container.java:1330)
[9] java.awt.Container.proxyRequestFocus (Container.java:1330)
[10] java.awt.Container.proxyRequestFocus (Container.java:1330)
[11] java.awt.Container.proxyRequestFocus (Container.java:1330)
[12] java.awt.Component.requestFocus (Component.java:4174)
[13] javax.swing.JComponent.grabFocus (JComponent.java:915)
[14] javax.swing.JComponent.requestFocus (JComponent.java:897)
[15] javax.swing.plaf.basic.BasicMenuUI$ChangeHandler.validateKeyboardActions
(BasicMenuUI.java:450)
[16] javax.swing.plaf.basic.BasicMenuUI$ChangeHandler.stateChanged (BasicMenuU
I.java:395)
[17] javax.swing.AbstractButton.fireStateChanged (AbstractButton.java:1360)
[18] javax.swing.AbstractButton$ButtonChangeListener.stateChanged (AbstractBut
ton.java:1416)
[19] javax.swing.DefaultButtonModel.fireStateChanged (DefaultButtonModel.java:
336)
[20] javax.swing.DefaultButtonModel.setSelected (DefaultButtonModel.java:227)
[21] javax.swing.JMenu.setSelected (JMenu.java:271)
[22] javax.swing.JMenu.menuSelectionChanged (JMenu.java:1139)
[23] javax.swing.MenuSelectionManager.setSelectedPath (MenuSelectionManager.ja
va:78)
[24] javax.swing.MenuSelectionManager.clearSelectedPath (MenuSelectionManager.
java:110)
[25] javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu (Bas
icPopupMenuUI.java:298)
[26] javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.componentHidden (Bas
icPopupMenuUI.java:461)
[27] java.awt.AWTEventMulticaster.componentHidden (AWTEventMulticaster.java:13
1)
[28] java.awt.Component.processComponentEvent (Component.java:3607)
[29] java.awt.Component.processEvent (Component.java:3556)
[30] java.awt.Container.processEvent (Container.java:1164)
[31] java.awt.Window.processEvent (Window.java:791)
[32] java.awt.Component.dispatchEventImpl (Component.java:2593)
[33] java.awt.Container.dispatchEventImpl (Container.java:1213)
[34] java.awt.Window.dispatchEventImpl (Window.java:926)
[35] java.awt.Component.dispatchEvent (Component.java:2497)
[36] java.awt.EventQueue.dispatchEvent (EventQueue.java:339)
[37] java.awt.EventDispatchThread.pumpOneEventForHierarchy (EventDispatchThrea
d.java:131)
[38] java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.
java:98)
[39] java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:93)
[40] java.awt.EventDispatchThread.run (EventDispatchThread.java:85)
CompileThread0:
Signal Dispatcher:
Finalizer:
[1] java.lang.Object.wait (native method)
[2] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:108)
[3] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:123)
[4] java.lang.ref.Finalizer$FinalizerThread.run (Finalizer.java:162)
Reference Handler:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] java.lang.ref.Reference$ReferenceHandler.run (Reference.java:110)
main:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] sun.plugin.SystemEventQueueUtilities.invokeAndWait ()
[4] sun.beans.ole.OleEmbeddedFrame.destroy ()
> resume
All threads resumed.
> exit
The problem appears both on Windows NT and Windows 2000 with Internet Explorer. It occurs with 1.3.1_02, 1.3.1_03, and the latest build of 1.3.1_04, but NOT in 1.4.0.
Here is the JDB output after the system hangs:
C:\jdk1.3.1_02\bin>jdb -attach 2502
Initializing jdb...
> suspend
All threads suspended.
> where all
Thread-8:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] com.kronos.wfc.wfp.uiframework.datamanager.NotifyingQueue.dequeue ()
[4] com.kronos.wfc.wfp.uiframework.datamanager.RetrieveObjectsFromServer.run (
)
TimerQueue:
[1] java.lang.Object.wait (native method)
[2] javax.swing.TimerQueue.run (TimerQueue.java:233)
[3] java.lang.Thread.run (Thread.java:484)
thread applet-com/kronos/wfc/applets/summary/quick/QuickFindApplet.class:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] sun.applet.AppletPanel.getNextEvent (AppletPanel.java:269)
[4] sun.applet.AppletPanel.run (AppletPanel.java:301)
[5] java.lang.Thread.run (Thread.java:484)
SunToolkit.PostEventQueue-2:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] sun.awt.PostEventQueue.run (SunToolkit.java:491)
AWT-EventQueue-2:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] java.awt.EventQueue.getNextEvent (EventQueue.java:260)
[4] java.awt.EventDispatchThread.pumpOneEventForHierarchy (EventDispatchThread
.java:106)
[5] java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.j
ava:98)
[6] java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:93)
[7] java.awt.EventDispatchThread.run (EventDispatchThread.java:85)
Screen Updater:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] sun.awt.ScreenUpdater.nextEntry (ScreenUpdater.java:76)
[4] sun.awt.ScreenUpdater.run (ScreenUpdater.java:95)
Thread-2:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] com.sun.media.sound.EventDispatcher.dispatchEvents (EventDispatcher.java:1
44)
[4] com.sun.media.sound.EventDispatcher.run (EventDispatcher.java:195)
Thread-1:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] com.sun.media.sound.EventDispatcher.dispatchEvents (EventDispatcher.java:1
44)
[4] com.sun.media.sound.EventDispatcher.run (EventDispatcher.java:195)
TimerQueue:
[1] java.lang.Object.wait (native method)
[2] javax.swing.TimerQueue.run (TimerQueue.java:233)
[3] java.lang.Thread.run (Thread.java:484)
Main Console Writer:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] sun.plugin.MainConsoleWriter.run ()
[4] java.lang.Thread.run (Thread.java:484)
AWT-Windows:
[1] sun.awt.windows.WToolkit.eventLoop (native method)
[2] sun.awt.windows.WToolkit.run (WToolkit.java:188)
[3] java.lang.Thread.run (Thread.java:484)
SunToolkit.PostEventQueue-0:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] sun.awt.PostEventQueue.run (SunToolkit.java:491)
AWT-EventQueue-0:
[1] sun.awt.windows.WComponentPeer.pRequestFocus (native method)
[2] sun.awt.windows.WComponentPeer.requestFocus (WComponentPeer.java:316)
[3] java.awt.Container.proxyRequestFocus (Container.java:1344)
[4] java.awt.Container.proxyRequestFocus (Container.java:1330)
[5] java.awt.Container.proxyRequestFocus (Container.java:1330)
[6] java.awt.Container.proxyRequestFocus (Container.java:1330)
[7] java.awt.Container.proxyRequestFocus (Container.java:1330)
[8] java.awt.Container.proxyRequestFocus (Container.java:1330)
[9] java.awt.Container.proxyRequestFocus (Container.java:1330)
[10] java.awt.Container.proxyRequestFocus (Container.java:1330)
[11] java.awt.Container.proxyRequestFocus (Container.java:1330)
[12] java.awt.Component.requestFocus (Component.java:4174)
[13] javax.swing.JComponent.grabFocus (JComponent.java:915)
[14] javax.swing.JComponent.requestFocus (JComponent.java:897)
[15] javax.swing.plaf.basic.BasicMenuUI$ChangeHandler.validateKeyboardActions
(BasicMenuUI.java:450)
[16] javax.swing.plaf.basic.BasicMenuUI$ChangeHandler.stateChanged (BasicMenuU
I.java:395)
[17] javax.swing.AbstractButton.fireStateChanged (AbstractButton.java:1360)
[18] javax.swing.AbstractButton$ButtonChangeListener.stateChanged (AbstractBut
ton.java:1416)
[19] javax.swing.DefaultButtonModel.fireStateChanged (DefaultButtonModel.java:
336)
[20] javax.swing.DefaultButtonModel.setSelected (DefaultButtonModel.java:227)
[21] javax.swing.JMenu.setSelected (JMenu.java:271)
[22] javax.swing.JMenu.menuSelectionChanged (JMenu.java:1139)
[23] javax.swing.MenuSelectionManager.setSelectedPath (MenuSelectionManager.ja
va:78)
[24] javax.swing.MenuSelectionManager.clearSelectedPath (MenuSelectionManager.
java:110)
[25] javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.cancelPopupMenu (Bas
icPopupMenuUI.java:298)
[26] javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.componentHidden (Bas
icPopupMenuUI.java:461)
[27] java.awt.AWTEventMulticaster.componentHidden (AWTEventMulticaster.java:13
1)
[28] java.awt.Component.processComponentEvent (Component.java:3607)
[29] java.awt.Component.processEvent (Component.java:3556)
[30] java.awt.Container.processEvent (Container.java:1164)
[31] java.awt.Window.processEvent (Window.java:791)
[32] java.awt.Component.dispatchEventImpl (Component.java:2593)
[33] java.awt.Container.dispatchEventImpl (Container.java:1213)
[34] java.awt.Window.dispatchEventImpl (Window.java:926)
[35] java.awt.Component.dispatchEvent (Component.java:2497)
[36] java.awt.EventQueue.dispatchEvent (EventQueue.java:339)
[37] java.awt.EventDispatchThread.pumpOneEventForHierarchy (EventDispatchThrea
d.java:131)
[38] java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.
java:98)
[39] java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:93)
[40] java.awt.EventDispatchThread.run (EventDispatchThread.java:85)
CompileThread0:
Signal Dispatcher:
Finalizer:
[1] java.lang.Object.wait (native method)
[2] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:108)
[3] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:123)
[4] java.lang.ref.Finalizer$FinalizerThread.run (Finalizer.java:162)
Reference Handler:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] java.lang.ref.Reference$ReferenceHandler.run (Reference.java:110)
main:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:420)
[3] sun.plugin.SystemEventQueueUtilities.invokeAndWait ()
[4] sun.beans.ole.OleEmbeddedFrame.destroy ()
> resume
All threads resumed.
> exit
- duplicates
-
JDK-6217033 core dump when jvm.dll calls [WaitForSingleObject()] with no timeout value
-
- Closed
-