-
Bug
-
Resolution: Fixed
-
P3
-
5.0u10, 5.0u13
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2151993 | 7 | Hao Dong | P3 | Closed | Won't Fix | |
JDK-2151992 | 6u10 | Hao Dong | P3 | Closed | Won't Fix |
-------------------
A javal-level deadlock occurs when an applet is open and close repeatedly using Internet Explorer
Reproducible environment
------------------------
- Tested jre build: PIT 5.0u13 build (Jun 28. 2007) from deployment dev:
http://sqeweb.sfbay/st2/stress_to_large_extent/jun28-build-deadlock/jre-1_5_0_13-nb-bin-20070628-windows-i586-28_jun_2007.exe
- Tested platform/browser: XP-pro(sp2)/ IE 6 xpsp2
- How to reproduce: The detailed test instruction can be found in the attachment.
Deadlock error java stack trace logs
------------------------------------
[Loaded java.text.AttributedString$AttributedStringIterator from shared objects
file]
[Loaded sun.plugin.AppletViewer$5 from C:\PROGRA~1\Java\JRE15~1.0_1\lib\plugin.j
ar]
[Loaded sun.plugin.AppletViewer$6 from C:\PROGRA~1\Java\JRE15~1.0_1\lib\plugin.j
ar]
[Loaded java.text.FieldPosition$Delegate from C:\PROGRA~1\Java\JRE15~1.0_1\lib\r
t.jar]
[Loaded sun.applet.AppletPanel$4 from C:\PROGRA~1\Java\JRE15~1.0_1\lib\rt.jar]
[Loaded java.text.NumberFormat$Field from shared objects file]
[Loaded sun.plugin.AppletViewer$1 from C:\PROGRA~1\Java\JRE15~1.0_1\lib\plugin.j
ar]
[Loaded sun.awt.im.InputContext$1 from C:\PROGRA~1\Java\JRE15~1.0_1\lib\rt.jar]
[Loaded java.awt.LightweightDispatcher$2 from shared objects file]
[Loaded java.awt.event.AWTEventListenerProxy from shared objects file]
[Loaded java.awt.Toolkit$ToolkitEventMulticaster from shared objects file]
[Loaded sun.plugin.viewer.frame.IExplorerEmbeddedFrame$2 from C:\PROGRA~1\Java\J
RE15~1.0_1\lib\plugin.jar]
[Loaded java.awt.Window$1DisposeAction from shared objects file]
[Loaded java.util.LinkedHashMap$LinkedHashIterator from shared objects file]
[Loaded java.util.LinkedHashMap$KeyIterator from shared objects file]
[Loaded java.awt.DefaultKeyboardFocusManager$1 from C:\PROGRA~1\Java\JRE15~1.0_1
\lib\rt.jar]
[Loaded sun.awt.AppContext$4 from C:\PROGRA~1\Java\JRE15~1.0_1\lib\rt.jar]
[Loaded sun.awt.AppContext$5 from C:\PROGRA~1\Java\JRE15~1.0_1\lib\rt.jar]
[Loaded sun.reflect.GeneratedConstructorAccessor2 from __JVM_DefineClass__]
[Loaded sun.plugin.util.GrayBoxPanel from C:\PROGRA~1\Java\JRE15~1.0_1\lib\plugi
n.jar]
[Loaded sun.plugin.util.AnimationPanel from C:\PROGRA~1\Java\JRE15~1.0_1\lib\plu
gin.jar]
[Loaded sun.awt.image.OffScreenImage from shared objects file]
[Loaded java.awt.image.ImageProducer from shared objects file]
[Loaded sun.awt.image.ImageFetchable from shared objects file]
[Loaded sun.awt.image.InputStreamImageSource from shared objects file]
[Loaded sun.awt.image.URLImageSource from shared objects file]
[Loaded java.awt.MediaEntry from shared objects file]
[Loaded java.awt.ImageMediaEntry from shared objects file]
[Loaded sun.awt.image.ImageWatched from shared objects file]
[Loaded java.awt.image.ImageConsumer from shared objects file]
[Loaded sun.awt.image.ImageRepresentation from shared objects file]
[Loaded sun.awt.image.ImageWatched$Link from shared objects file]
[Loaded sun.awt.image.ImageWatched$WeakLink from shared objects file]
[Loaded sun.awt.image.ImageConsumerQueue from shared objects file]
[Loaded sun.awt.image.ImageFetcher from shared objects file]
[Loaded sun.awt.image.FetcherInfo from shared objects file]
[Loaded sun.awt.image.ImageFetcher$1 from shared objects file]
[Loaded sun.awt.image.ImageDecoder from shared objects file]
[Loaded sun.awt.image.GifImageDecoder from shared objects file]
[Loaded sun.awt.image.GifFrame from shared objects file]
[Loaded sun.awt.image.BytePackedRaster from shared objects file]
[Loaded java.awt.GradientPaint from C:\PROGRA~1\Java\JRE15~1.0_1\lib\rt.jar]
[Loaded java.awt.RenderingHints from shared objects file]
[Loaded sun.awt.SunHints from shared objects file]
[Loaded java.awt.RenderingHints$Key from shared objects file]
[Loaded sun.awt.SunHints$Key from shared objects file]
[Loaded sun.awt.SunHints$Value from shared objects file]
[Loaded java.awt.PaintContext from C:\PROGRA~1\Java\JRE15~1.0_1\lib\rt.jar]
[Loaded java.awt.GradientPaintContext from C:\PROGRA~1\Java\JRE15~1.0_1\lib\rt.j
ar]
[Loaded java.awt.geom.Point2D$Double from C:\PROGRA~1\Java\JRE15~1.0_1\lib\rt.ja
r]
[Loaded sun.java2d.pipe.AlphaPaintPipe$TileContext from C:\PROGRA~1\Java\JRE15~1
.0_1\lib\rt.jar]
[Loaded sun.awt.image.PNGImageDecoder from shared objects file]
[Loaded sun.awt.image.PNGFilterInputStream from shared objects file]
[Loaded sun.awt.image.PNGImageDecoder$Chromaticities from C:\PROGRA~1\Java\JRE15
~1.0_1\lib\rt.jar]
[Loaded java.awt.Polygon from C:\PROGRA~1\Java\JRE15~1.0_1\lib\rt.jar]
[Loaded java.awt.geom.PathIterator from shared objects file]
[Loaded java.awt.geom.GeneralPathIterator from C:\PROGRA~1\Java\JRE15~1.0_1\lib\
rt.jar]
[Loaded sun.dc.pr.Rasterizer from C:\PROGRA~1\Java\JRE15~1.0_1\lib\rt.jar]
[Loaded sun.dc.path.PathConsumer from shared objects file]
[Loaded sun.dc.pr.PathFiller from C:\PROGRA~1\Java\JRE15~1.0_1\lib\rt.jar]
[Loaded sun.dc.pr.PathStroker from shared objects file]
[Loaded sun.dc.pr.PathDasher from shared objects file]
[Loaded sun.dc.pr.Rasterizer$ConsumerDisposer from C:\PROGRA~1\Java\JRE15~1.0_1\
lib\rt.jar]
[Loaded sun.java2d.loops.GraphicsPrimitive$GeneralBinaryOp from shared objects f
ile]
[Loaded sun.java2d.loops.MaskBlit$General from shared objects file]
[Loaded sun.java2d.loops.OpaqueCopyAnyToArgb from shared objects file]
[Loaded sun.java2d.loops.OpaqueCopyArgbToAny from shared objects file]
[Loaded java.awt.SequencedEvent$1 from C:\PROGRA~1\Java\JRE15~1.0_1\lib\rt.jar]
[Loaded java.awt.Component$FlipBufferStrategy from C:\PROGRA~1\Java\JRE15~1.0_1\
lib\rt.jar]
[Loaded sun.reflect.GeneratedConstructorAccessor3 from __JVM_DefineClass__]
[Loaded java.awt.Toolkit$SelectiveAWTEventListener from shared objects file]
[Loaded netscape.javascript.JSException from C:\PROGRA~1\Java\JRE15~1.0_1\lib\pl
ugin.jar]
[Loaded sun.awt.windows.WDesktopProperties$DiffPropertyChanges from C:\PROGRA~1\
Java\JRE15~1.0_1\lib\rt.jar]
[Loaded sun.reflect.GeneratedMethodAccessor3 from __JVM_DefineClass__]
[Unloading class sun.reflect.GeneratedMethodAccessor3]
Full thread dump Java HotSpot(TM) Client VM (1.5.0_13-nb-20070628 mixed mode, sh
aring):
"thread applet-ArcTest.class" prio=4 tid=0x0515ab68 nid=0xde0 in Object.wait() [
0x0a8df000..0x0a8dfbe8]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at sun.applet.AppletPanel.getNextEvent(Unknown Source)
- locked <0x20be10c0> (a sun.plugin.AppletViewer)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Thread-72537" prio=6 tid=0x05290d48 nid=0xf7c runnable [0x00000000..0x0a6de810]
"frame-size" prio=6 tid=0x05281c18 nid=0xfa4 waiting for monitor entry [0x09bdf0
00..0x09bdfd68]
at sun.plugin.viewer.context.DefaultPluginAppletContext.addJSObjectToExp
ortedList(Unknown Source)
- waiting to lock <0x20c30b78> (a java.util.ArrayList)
at sun.plugin.javascript.ocx.JSObject.setIExplorerAppletContext(Unknown
Source)
at sun.plugin.javascript.ocx.JSObject.invoke(Unknown Source)
- locked <0x20c30bd0> (a sun.plugin.javascript.ocx.JSObject)
at sun.plugin.javascript.ocx.JSObject.getMember(Unknown Source)
at sun.plugin.AppletViewer.getDocumentBase(Unknown Source)
- locked <0x20c30bf0> (a java.lang.Object)
at sun.plugin.viewer.IExplorerPluginObject.initPlugin(Unknown Source)
at sun.plugin.viewer.IExplorerPluginObject.mayInit(Unknown Source)
at sun.plugin.viewer.IExplorerPluginObject.frameReady(Unknown Source)
at sun.plugin.viewer.frame.IExplorerEmbeddedFrame.setFrameSize(Unknown S
ource)
at sun.plugin.viewer.IExplorerPluginObject$2.run(Unknown Source)
"Thread-72486" prio=6 tid=0x051deb10 nid=0xc14 waiting for monitor entry [0x0923
e000..0x0923e810]
at sun.plugin.javascript.ocx.JSObject.cleanup(Unknown Source)
- waiting to lock <0x20c30bd0> (a sun.plugin.javascript.ocx.JSObject)
at sun.plugin.viewer.context.DefaultPluginAppletContext.onClose(Unknown
Source)
- locked <0x20c30b78> (a java.util.ArrayList)
at sun.plugin.viewer.context.IExplorerAppletContext.onClose(Unknown Sour
ce)
at sun.plugin.viewer.IExplorerPluginObject.destroyPlugin(Unknown Source)
"AWT-EventQueue-634" prio=4 tid=0x05290320 nid=0xd04 in Object.wait() [0x09adf00
0..0x09adfce8]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.awt.EventQueue.getNextEvent(Unknown Source)
- locked <0x216890b0> (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)
"TimerQueue" daemon prio=6 tid=0x05195498 nid=0xbec in Object.wait() [0x0601f000
..0x0601fd68]
at java.lang.Object.wait(Native Method)
- waiting on <0x2139c678> (a javax.swing.TimerQueue)
at javax.swing.TimerQueue.run(Unknown Source)
- locked <0x2139c678> (a javax.swing.TimerQueue)
at java.lang.Thread.run(Unknown Source)
"AWT-EventQueue-0" prio=6 tid=0x05183340 nid=0xbe8 in Object.wait() [0x05ecf000.
.0x05ecf9e8]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.awt.EventQueue.getNextEvent(Unknown Source)
- locked <0x212f7600> (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)
"ConsoleWriterThread" daemon prio=6 tid=0x0512e730 nid=0xbe4 in Object.wait() [0
x05dcf000..0x05dcfa68]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at com.sun.deploy.util.ConsoleTraceListener$ConsoleWriterThread.run(Unkn
own Source)
- locked <0x213478a8> (a java.lang.Object)
"AWT-EventQueue-1" prio=6 tid=0x051299c0 nid=0xbe0 in Object.wait() [0x05ccf000.
.0x05ccfae8]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.awt.EventQueue.getNextEvent(Unknown Source)
- locked <0x21338e88> (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)
"AWT-Shutdown" prio=6 tid=0x025eb868 nid=0xb90 in Object.wait() [0x054ef000..0x0
54efb68]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at sun.awt.AWTAutoShutdown.run(Unknown Source)
- locked <0x21302888> (a java.lang.Object)
at java.lang.Thread.run(Unknown Source)
"traceMsgQueueThread" daemon prio=6 tid=0x05116258 nid=0xbd0 in Object.wait() [0
x057ff000..0x057ffc68]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at com.sun.deploy.util.Trace$TraceMsgQueueChecker.run(Unknown Source)
- locked <0x213028b0> (a java.util.ArrayList)
at java.lang.Thread.run(Unknown Source)
"AWT-Windows" daemon prio=6 tid=0x05111fe0 nid=0xbd8 runnable [0x055ef000..0x055
efce8]
at sun.awt.windows.WToolkit.eventLoop(Native Method)
at sun.awt.windows.WToolkit.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Java2D Disposer" daemon prio=10 tid=0x051117c8 nid=0x7fc in Object.wait() [0x05
3ef000..0x053ef9e8]
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x21302988> (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)
"Low Memory Detector" daemon prio=6 tid=0x025a6988 nid=0xbb8 runnable [0x0000000
0..0x00000000]
"CompilerThread0" daemon prio=10 tid=0x025a5568 nid=0xbc4 waiting on condition [
0x00000000..0x04edf8c8]
"Signal Dispatcher" daemon prio=10 tid=0x025a48e0 nid=0x414 waiting on condition
[0x00000000..0x00000000]
"Finalizer" daemon prio=8 tid=0x02573a28 nid=0xbb4 in Object.wait() [0x04cdf000.
.0x04cdfc68]
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x21302b38> (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=0x025725a8 nid=0xed8 in Object.wait() [0x
04bdf000..0x04bdfce8]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Unknown Source)
at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
- locked <0x21302810> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=10 tid=0x02571368 nid=0xed4 runnable
"VM Periodic Task Thread" prio=10 tid=0x025a7be0 nid=0xa0c waiting on condition
Found one Java-level deadlock:
=============================
"frame-size":
waiting to lock monitor 0x0257367c (object 0x20c30b78, a java.util.ArrayList),
which is held by "Thread-72486"
"Thread-72486":
waiting to lock monitor 0x0257365c (object 0x20c30bd0, a sun.plugin.javascript
.ocx.JSObject),
which is held by "frame-size"
Java stack information for the threads listed above:
===================================================
"frame-size":
at sun.plugin.viewer.context.DefaultPluginAppletContext.addJSObjectToExp
ortedList(Unknown Source)
- waiting to lock <0x20c30b78> (a java.util.ArrayList)
at sun.plugin.javascript.ocx.JSObject.setIExplorerAppletContext(Unknown
Source)
at sun.plugin.javascript.ocx.JSObject.invoke(Unknown Source)
- locked <0x20c30bd0> (a sun.plugin.javascript.ocx.JSObject)
at sun.plugin.javascript.ocx.JSObject.getMember(Unknown Source)
at sun.plugin.AppletViewer.getDocumentBase(Unknown Source)
- locked <0x20c30bf0> (a java.lang.Object)
at sun.plugin.viewer.IExplorerPluginObject.initPlugin(Unknown Source)
at sun.plugin.viewer.IExplorerPluginObject.mayInit(Unknown Source)
at sun.plugin.viewer.IExplorerPluginObject.frameReady(Unknown Source)
at sun.plugin.viewer.frame.IExplorerEmbeddedFrame.setFrameSize(Unknown S
ource)
at sun.plugin.viewer.IExplorerPluginObject$2.run(Unknown Source)
"Thread-72486":
at sun.plugin.javascript.ocx.JSObject.cleanup(Unknown Source)
- waiting to lock <0x20c30bd0> (a sun.plugin.javascript.ocx.JSObject)
at sun.plugin.viewer.context.DefaultPluginAppletContext.onClose(Unknown
Source)
- locked <0x20c30b78> (a java.util.ArrayList)
at sun.plugin.viewer.context.IExplorerAppletContext.onClose(Unknown Sour
ce)
at sun.plugin.viewer.IExplorerPluginObject.destroyPlugin(Unknown Source)
Found 1 deadlock.
- backported by
-
JDK-2151992 Browser hang by a deadlock with open and close applet repeatedly
- Closed
-
JDK-2151993 Browser hang by a deadlock with open and close applet repeatedly
- Closed
- duplicates
-
JDK-6489165 dead lock occurs by pressing "refresh" many times in 5.0u10b02
- Closed
-
JDK-2144769 dead lock occurs by pressing "refresh" many times in 5.0u10b02
- Closed
-
JDK-2147459 dead lock occurs by pressing "refresh" many times in 5.0u10b02
- Closed
- relates to
-
JDK-6603064 Legacy_lifecycle:Exception getting thrown on while making LiveConnect calls once applet is refreshed
- Resolved
-
JDK-6418035 Applets freeze in 5u7 on XP Japanese
- Closed