Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4750273
Votes 0
Synopsis Test case of #4741860 with Java console on can hang IE
Category java_plugin:iexplorer
Reported Against 1.4
Release Fixed 1.3.1_07, 1.4.0_04(Bug ID:2058782) , 1.4.1_02(Bug ID:2058783) , 1.4.2(mantis) (Bug ID:2058784)
State 10-Fix Delivered, bug
Priority: 3-Medium
Related Bugs
Submit Date 19-SEP-2002
Description
Following Java stack will show the deadlock:


Full thread dump Java HotSpot(TM) Client VM (1.4.2-beta-b01 mixed mode):

"AWT-EventQueue-1" prio=4 tid=0x00356490 nid=0x24b in Object.wait() [1e2cf000..1e2cfd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <1211C448> (a java.awt.EventQueue)
        at java.lang.Object.wait(Unknown Source)
        at java.awt.EventQueue.getNextEvent(Unknown Source)
        - locked <1211C448> (a java.awt.EventQueue)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

"Keep-Alive-Timer" daemon prio=4 tid=0x00355590 nid=0x330 waiting on condition [1e18f000..1e18fd8c]
        at java.lang.Thread.sleep(Native Method)
        at sun.net.www.http.KeepAliveCache.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"Image Fetcher 0" daemon prio=9 tid=0x00353310 nid=0x200 in Object.wait() [1df8f000..1df8fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <1211F858> (a java.util.Vector)
        at sun.awt.image.ImageFetcher.nextImage(Unknown Source)
        - locked <1211F858> (a java.util.Vector)
        at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
        at sun.awt.image.ImageFetcher.run(Unknown Source)

"thread applet-GetAppletsTest.class" prio=4 tid=0x00351BB0 nid=0x2e8 in Object.wait() [1dc8f000..1dc8fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <12180370> (a sun.plugin.AppletViewer)
        at java.lang.Object.wait(Unknown Source)
        at sun.applet.AppletPanel.getNextEvent(Unknown Source)
        - locked <12180370> (a sun.plugin.AppletViewer)
        at sun.applet.AppletPanel.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"Thread-3" prio=5 tid=0x00350EA0 nid=0x22e runnable [1db8f000..1db8fd8c]
        at sun.plugin.com.DispatchClient.nativeInvoke(Native Method)
        at sun.plugin.com.DispatchClient.invoke(DispatchClient.java:35)
        at sun.plugin.javascript.ocx.JSObject.invoke(JSObject.java:99)
        - locked <1211BD40> (a sun.plugin.javascript.ocx.JSObject)
        at sun.plugin.javascript.ocx.JSObject.getMember(JSObject.java:176)
        at sun.plugin.AppletViewer.getDocumentBase(AppletViewer.java:1025)
        - locked <1211B9A8> (a java.lang.Object)
        at sun.plugin.AppletViewer.getCodeBase(AppletViewer.java:1083)
        - locked <1211B8B8> (a java.lang.Object)
        at sun.plugin.AppletViewer.appletInit(AppletViewer.java:601)
        at sun.plugin.viewer.LifeCycleManager.initAppletPanel(LifeCycleManager.java:166)
        at sun.plugin.viewer.IExplorerPluginObject$Initer.run(IExplorerPluginObject.java:169)

"TimerQueue" daemon prio=5 tid=0x00346560 nid=0x349 in Object.wait() [1d37f000..1d37fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <12180520> (a javax.swing.TimerQueue)
        at javax.swing.TimerQueue.run(Unknown Source)
        - locked <12180520> (a javax.swing.TimerQueue)
        at java.lang.Thread.run(Unknown Source)

"Cache Cleanup Thread" prio=4 tid=0x00343A10 nid=0x145 in Object.wait() [1d27f000..1d27fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <12934898> (a sun.plugin.cache.CleanupThread)
        at sun.plugin.cache.CleanupThread.run(CleanupThread.java:97)
        - locked <12934898> (a sun.plugin.cache.CleanupThread)

"Java2D Disposer" daemon prio=10 tid=0x00337510 nid=0x36f in Object.wait() [1d17f000..1d17fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <12934940> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <12934940> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at sun.java2d.Disposer.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"AWT-EventQueue-0" prio=7 tid=0x00335EA0 nid=0x208 runnable [1d07f000..1d07fd8c]
        at sun.awt.windows.WComponentPeer._requestFocus(Native Method)
        at sun.awt.windows.WComponentPeer.requestFocus(Unknown Source)
        at java.awt.Component.requestFocusHelper(Unknown Source)
        at java.awt.Component.requestFocusInWindow(Unknown Source)
        at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.SequencedEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

"Main Console Writer" prio=7 tid=0x0032C200 nid=0x2e1 in Object.wait() [1cf7f000..1cf7fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <128C52F8> (a java.util.LinkedList)
        at java.lang.Object.wait(Unknown Source)
        at sun.plugin.MainConsoleWriter.run(MainConsoleWriter.java:106)
        - locked <128C52F8> (a java.util.LinkedList)
        at java.lang.Thread.run(Unknown Source)

"AWT-Windows" daemon prio=7 tid=0x00328070 nid=0x2d6 runnable [1cd7f000..1cd7fd8c]
        at sun.awt.windows.WToolkit.eventLoop(Native Method)
        at sun.awt.windows.WToolkit.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"AWT-Shutdown" prio=5 tid=0x00328470 nid=0x271 in Object.wait() [1cc7f000..1cc7fd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <12895400> (a java.lang.Object)
        at java.lang.Object.wait(Unknown Source)
        at sun.awt.AWTAutoShutdown.run(Unknown Source)
        - locked <12895400> (a java.lang.Object)
        at java.lang.Thread.run(Unknown Source)

"Signal Dispatcher" daemon prio=10 tid=0x00312460 nid=0x343 waiting on condition[0..0]

"Finalizer" daemon prio=9 tid=0x00306460 nid=0x259 in Object.wait() [1c4af000..1c4afd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <12878B70> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        - locked <12878B70> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
        at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" daemon prio=10 tid=0x0030F2D0 nid=0x32c in Object.wait() [1c3af000..1c3afd8c]
        at java.lang.Object.wait(Native Method)
        - waiting on <12878BD8> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Unknown Source)
        at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
        - locked <12878BD8> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=0x003085D0 nid=0x35e in Object.wait() [128000..12e8f0]
        at java.lang.Object.wait(Native Method)
        - waiting on <1211C060> (a java.awt.EventQueue$1AWTInvocationLock)
        at java.lang.Object.wait(Unknown Source)
        at java.awt.EventQueue.invokeAndWait(Unknown Source)
        - locked <1211C060> (a java.awt.EventQueue$1AWTInvocationLock)
        at javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
        at sun.plugin.viewer.frame.IExplorerEmbeddedFrame.setBean(IExplorerEmbeddedFrame.java:104)
        at sun.plugin.viewer.IExplorerPluginObject.createFrame(IExplorerPluginObject.java:145)

"VM Thread" prio=5 tid=0x0030E5A0 nid=0x35b runnable

"VM Periodic Task Thread" prio=10 tid=0x00311880 nid=0x358 waiting on condition

"Suspend Checker Thread" prio=10 tid=0x00312F00 nid=0x142 runnable
Work Around
N/A
Evaluation
There are two part of problem.

1. Java Console window, current running on main thread group, should move to newly created plugin thread group.

2. AppletViewer, running on main thread group, should run on applet thread group.

I intend only fix the first part, the second part will be address by # 4754451.

  xxxxx@xxxxx   2002-10-03
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang