1. Browse to a HTML page containing the customer applet
2. Wait for customer applet to initialize session and successfully receive data from server
3. Right click and select Disable on the active LAN connection
4. After a few seconds, IE will not response and cannot be closed properly. Even if the netowrk is reactivated.
There is a captured video, IE6_freeze.wrf, for reproducible steps and the problem behavior. /net/cores/cores/71256590/ has the .wrf video capture and the thread dumps.
Note: You can download player for .wrf file from here - http://www.webex.com/downloadplayer.html
The following time line will explain you the circumstances during the incident.
00:00:20 - TCT successfully connected to RSS and received data
00:00:39 - Disable LAN connection
00:00:53 - IE started to freeze. During this time, you can notice that the applet log in Java console was still running. This shows that the Applet was working even the browser hanged.
00:03:00 - Kill java process and IE become active again. If Java is not killed, I need to end task IE forcefully.
Found workarounds
I have found 2 workaround for avoiding IE freeze problem.
1. Disable next generation plug-in in Java Control panel
OR
2. Disable sending status from applet to JavaScript
For the 1st workaround, this is not acceptable because we cannot force client to disable this function which is enabled by default.
For the 2nd workaround, this is not acceptable as well because user needs to get notification about current status of the connection.
Both thread dumps confirm that plugin is inside the "runMessagePump0" method and never got out of it.
java_tracing.log.1 shows:
LiveConnectSupport.PerPluginInfo.javaScriptCall:^M
methodName: statuscallback^M
args: [[RemoteJavaObject jvmID=1 appletID=2 objectID=13 isApplet=false]]^M
LiveConnectSupport.sendRemoteJavaObjectOp: HAS_FIELD_OR_METHOD "elements"^M
AbstractPlugin.doJavaObjectOp starting to wait for result ID 81^M
JVMInstance (1.6.0.11) processing GetProxyMessage^M
JVMInstance (1.6.0.11) processing GetProxyMessage^M
JVMInstance (1.6.0.11) processing JavaScriptCallMessage^M
LiveConnectSupport.PerPluginInfo.javaScriptCall:^M
methodName: statuscallback^M
args: [[RemoteJavaObject jvmID=1 appletID=2 objectID=14 isApplet=false]]^M
LiveConnectSupport.sendRemoteJavaObjectOp: HAS_FIELD_OR_METHOD "elements"^M
AbstractPlugin.doJavaObjectOp starting to wait for result ID 82^M
JVMInstance (1.6.0.11) processing JavaReplyMessage^M
JVMInstance received JavaReplyMessage with result ID 82^M
AbstractPlugin.doJavaObjectOp ending wait for result ID 82^M
LiveConnectSupport: result [ResultID 82] = true^M
Java thread dump:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
Attaching to core c:\bugs\liveconnect\3rd_iexplore.dmp from executable c:\debugbin\6u14\jvm.dll, please wait...
WARNING: You have disabled SA and VM version check. You may be using incompatible version of SA and you may see unexpected results.
Debugger attached successfully.
Client compiler detected.
JVM version is 14.0-b16
Deadlock Detection:
No deadlocks found.
Finding object size using Printezis bits and skipping over...
Thread 27: (state = BLOCKED, current Java SP = 0x06b7fc00
)
- java.lang.Thread.sleep(long) @bci=0, pc=0x03d99e27, methodOop=0x2b1a7790 (Interpreted frame)
- sun.plugin2.main.server.JVMInstance$HeartbeatThread.run() @bci=154, pc=0x03d92da1, methodOop=0x26a6b2d0 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 26: (state = BLOCKED, current Java SP = 0x0708f860
)
- java.lang.Object.wait(long) @bci=0, pc=0x03d99e27, methodOop=0x2b190590 (Interpreted frame)
- sun.plugin2.message.Queue.waitForMessage(long) @bci=19, pc=0x03d92da1, methodOop=0x26a554a8 (Interpreted frame)
- sun.plugin2.message.Pipe.receive(long) @bci=9, pc=0x03d92f07, methodOop=0x26a540b0 (Interpreted frame)
- sun.plugin2.main.server.JVMInstance$WorkerThread.run() @bci=33, pc=0x03d92f07, methodOop=0x26a5fc60 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 25: (state = IN_NATIVE, current Java SP = 0x06f8f920
)
- java.io.FileInputStream.readBytes(byte[], int, int) @bci=0, pc=0x03d99e27, methodOop=0x2b200cd0 (Interpreted frame)
- java.io.FileInputStream.read(byte[]) @bci=5, pc=0x03d92ec5, methodOop=0x2b200a80 (Interpreted frame)
- sun.plugin2.main.server.JVMInstance$StreamMonitor.run() @bci=13, pc=0x03d92ec5, methodOop=0x26a5d490 (Interpreted frame)
- java.lang.Thread.run() @bci=11, pc=0x03d9327d, methodOop=0x2b1a66f8 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 24: (state = IN_NATIVE, current Java SP = 0x06e8f8a0
)
- java.io.FileInputStream.readBytes(byte[], int, int) @bci=0, pc=0x03d99e27, methodOop=0x2b200cd0 (Interpreted frame)
- java.io.FileInputStream.read(byte[], int, int) @bci=4, pc=0x03d92ec5, methodOop=0x2b200a30 (Interpreted frame)
- java.io.BufferedInputStream.fill() @bci=175, pc=0x03d92ec5, methodOop=0x2b203480 (Interpreted frame)
- java.io.BufferedInputStream.read1(byte[], int, int) @bci=44, pc=0x03d92da1, methodOop=0x2b203700 (Interpreted frame)
- java.io.BufferedInputStream.read(byte[], int, int) @bci=49, pc=0x03d92ec5, methodOop=0x2b2034d0 (Interpreted frame)
- java.io.FilterInputStream.read(byte[]) @bci=5, pc=0x03d92ec5, methodOop=0x2b202cb8 (Interpreted frame)
- sun.plugin2.main.server.JVMInstance$StreamMonitor.run() @bci=13, pc=0x03d92ec5, methodOop=0x26a5d490 (Interpreted frame)
- java.lang.Thread.run() @bci=11, pc=0x03d9327d, methodOop=0x2b1a66f8 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 23: (state = IN_NATIVE, current Java SP = 0x06d8fa70
)
- java.lang.ProcessImpl.waitFor() @bci=0, pc=0x03d99e27, methodOop=0x26a5b500 (Interpreted frame)
- sun.plugin2.jvm.JVMLauncher$JVMWatcher.run() @bci=17, pc=0x03d92ec5, methodOop=0x26a5ccf8 (Interpreted frame)
- java.lang.Thread.run() @bci=11, pc=0x03d9327d, methodOop=0x2b1a66f8 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 22: (state = IN_NATIVE, current Java SP = 0x06c7f960
)
- sun.plugin2.os.windows.Windows.ReadFile0(long, java.lang.Object, int, int, java.lang.Object, int, java.nio.ByteBuffer) @bci=0, pc=0x03d99e27, methodOop=0x269c73b8 (Interpreted frame)
- sun.plugin2.os.windows.Windows.ReadFile(long, java.nio.Buffer, int, java.nio.IntBuffer, sun.plugin2.os.windows.OVERLAPPED) @bci=63, pc=0x03d92fcd, methodOop=0x269c7338 (Interpreted frame)
- sun.plugin2.ipc.windows.WindowsNamedPipe.read(java.nio.ByteBuffer) @bci=27, pc=0x03d92fcd, methodOop=0x26a2f670 (Interpreted frame)
- sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.read() @bci=67, pc=0x03d92ec5, methodOop=0x26a33af8 (Interpreted frame)
- sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.readByte() @bci=25, pc=0x03e2d797, methodOop=0x26a33d38 (Compiled frame)
- sun.plugin2.message.AbstractSerializer.readInt() @bci=1, pc=0x03e3177f, methodOop=0x26a366b0 (Compiled frame)
- sun.plugin2.message.transport.SerializingTransport.read() @bci=15, pc=0x03d933a1, methodOop=0x26a32bc0 (Interpreted frame)
- sun.plugin2.message.Pipe$WorkerThread.run() @bci=34, pc=0x03d933e3, methodOop=0x26a55f70 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 21: (state = BLOCKED, current Java SP = 0x0685fc20
)
- java.lang.Object.wait(long) @bci=0, pc=0x03d99e27, methodOop=0x2b190590 (Interpreted frame)
- java.lang.Object.wait() @bci=2, line=485, pc=0x03d92da1, methodOop=0x2b1904f0 (Interpreted frame)
- com.sun.deploy.util.Trace$TraceMsgQueueChecker.run() @bci=30, pc=0x03d92da1,
methodOop=0x269f6748 (Interpreted frame)
- java.lang.Thread.run() @bci=11, pc=0x03d9327d, methodOop=0x2b1a66f8 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 17: (state = BLOCKED, current Java SP = null
)
Locked ownable synchronizers:
- None
Thread 16: (state = BLOCKED, current Java SP = null
)
Locked ownable synchronizers:
- None
Thread 15: (state = BLOCKED, current Java SP = 0x0625fb20
)
- java.lang.Object.wait(long) @bci=0, pc=0x03d99e27, methodOop=0x2b190590 (Interpreted frame)
- java.lang.ref.ReferenceQueue.remove(long) @bci=44, pc=0x03d92da1, methodOop=0x2b1d1d28 (Interpreted frame)
- java.lang.ref.ReferenceQueue.remove() @bci=2, pc=0x03d92f07, methodOop=0x2b1d1d78 (Interpreted frame)
- java.lang.ref.Finalizer$FinalizerThread.run() @bci=3, pc=0x03d92f07, methodOop=0x2b1d8298 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 14: (state = BLOCKED, current Java SP = 0x0615fbd0
)
- java.lang.Object.wait(long) @bci=0, pc=0x03d99e27, methodOop=0x2b190590 (Interpreted frame)
- java.lang.Object.wait() @bci=2, line=485, pc=0x03d92da1, methodOop=0x2b1904f0 (Interpreted frame)
- java.lang.ref.Reference$ReferenceHandler.run() @bci=46, pc=0x03d92da1, methodOop=0x2b1d7ee8 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 0: (state = IN_NATIVE, current Java SP = 0x0013b8c0
)
- sun.plugin2.main.server.WindowsHelper.runMessagePump0(long, long, boolean) @bci=0, pc=0x03d99e27, methodOop=0x26b259c8 (Interpreted frame)
- sun.plugin2.main.server.WindowsHelper.runMessagePump(sun.plugin2.ipc.Event, long, boolean) @bci=20, pc=0x03d92da1, methodOop=0x26b25948 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.runMessagePump(long) @bci=12, pc=0x03d92da1, methodOop=0x269b0518 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.runMessagePump() @bci=4, pc=0x03d92da1, methodOop=0x269b0488 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.access$400(sun.plugin2.main.server.IExplorerPlugin) @bci=1, pc=0x03d92da1, methodOop=0x269b0af0 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin$1.waitForSignal() @bci=4, pc=0x03d92da1, methodOop=0x26a6a2e0 (Interpreted frame)
- sun.plugin2.main.server.ResultHandler.waitForResult(sun.plugin2.main.server.ResultID, int, sun.plugin2.main.server.AppletID) @bci=48, pc=0x03d92da1, methodOop=0x26a6a718 (Interpreted frame)
- sun.plugin2.main.server.AbstractPlugin.doJavaObjectOp(sun.plugin2.liveconnect.RemoteJavaObject, boolean, int, java.lang.String, long, long, int, long, long)
@bci=285, pc=0x03d92da1, methodOop=0x269b4c20 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.doJavaObjectOp(sun.plugin2.liveconnect.RemoteJavaObject, boolean, int, java.lang.String, long, long, int, long, long) @bci=83, pc=0x03d92fcd, methodOop=0x269afd08 (Interpreted frame)
- sun.plugin2.main.server.AbstractPlugin.javaObjectHasFieldOrMethod(sun.plugin2.liveconnect.RemoteJavaObject, long) @bci=15, pc=0x03d92fcd, methodOop=0x269b4900 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.GetIDOfName(java.lang.String, sun.plugin2.liveconnect.RemoteJavaObject) @bci=115, pc=0x03d92fcd, methodOop=0x269aff20 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.iDispatchInvoke0(long, long, java.lang.String, int, boolean, long, int, java.lang.Object[]) @bci=0, pc=0x03d99e05, methodOop=0x269aea78 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.iDispatchInvoke(long, java.lang.String, int, long, int) @bci=22, pc=0x03d92ec5, methodOop=0x269aebd0 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.javaScriptCallImpl(sun.plugin2.liveconnect.BrowserSideObject, java.lang.String, java.lang.Object[], int) @bci=73, pc=0x03d92f07, methodOop=0x269ae860 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.javaScriptCall(sun.plugin2.liveconnect.BrowserSideObject, java.lang.String, java.lang.Object[]) @bci=5, pc=0x03d92f07, methodOop=0x269ae230 (Interpreted frame)
- sun.plugin2.main.server.LiveConnectSupport$PerPluginInfo.javaScriptCall(sun.plugin2.message.Conversation, sun.plugin2.liveconnect.BrowserSideObject, java.lang.String, java.lang.Object[]) @bci=149, pc=0x03d933e3, methodOop=0x26a67ee0 (Interpreted frame)
- sun.plugin2.main.server.LiveConnectSupport.javaScriptCall(sun.plugin2.message.Conversation, int, sun.plugin2.liveconnect.BrowserSideObject, java.lang.String, java.lang.Object[]) @bci=9, pc=0x03d92f07, methodOop=0x26a65260 (Interpreted frame)
- sun.plugin2.main.server.JVMInstance$WorkerThread$2.doWork() @bci=35, pc=0x03d92f07, methodOop=0x26b24a68 (Interpreted frame)
- sun.plugin2.main.server.JVMInstance$6.run() @bci=8, pc=0x03d92f07, methodOop=0x26b22de8 (Interpreted frame)
Locked ownable synchronizers:
- None
2. Wait for customer applet to initialize session and successfully receive data from server
3. Right click and select Disable on the active LAN connection
4. After a few seconds, IE will not response and cannot be closed properly. Even if the netowrk is reactivated.
There is a captured video, IE6_freeze.wrf, for reproducible steps and the problem behavior. /net/cores/cores/71256590/ has the .wrf video capture and the thread dumps.
Note: You can download player for .wrf file from here - http://www.webex.com/downloadplayer.html
The following time line will explain you the circumstances during the incident.
00:00:20 - TCT successfully connected to RSS and received data
00:00:39 - Disable LAN connection
00:00:53 - IE started to freeze. During this time, you can notice that the applet log in Java console was still running. This shows that the Applet was working even the browser hanged.
00:03:00 - Kill java process and IE become active again. If Java is not killed, I need to end task IE forcefully.
Found workarounds
I have found 2 workaround for avoiding IE freeze problem.
1. Disable next generation plug-in in Java Control panel
OR
2. Disable sending status from applet to JavaScript
For the 1st workaround, this is not acceptable because we cannot force client to disable this function which is enabled by default.
For the 2nd workaround, this is not acceptable as well because user needs to get notification about current status of the connection.
Both thread dumps confirm that plugin is inside the "runMessagePump0" method and never got out of it.
java_tracing.log.1 shows:
LiveConnectSupport.PerPluginInfo.javaScriptCall:^M
methodName: statuscallback^M
args: [[RemoteJavaObject jvmID=1 appletID=2 objectID=13 isApplet=false]]^M
LiveConnectSupport.sendRemoteJavaObjectOp: HAS_FIELD_OR_METHOD "elements"^M
AbstractPlugin.doJavaObjectOp starting to wait for result ID 81^M
JVMInstance (1.6.0.11) processing GetProxyMessage^M
JVMInstance (1.6.0.11) processing GetProxyMessage^M
JVMInstance (1.6.0.11) processing JavaScriptCallMessage^M
LiveConnectSupport.PerPluginInfo.javaScriptCall:^M
methodName: statuscallback^M
args: [[RemoteJavaObject jvmID=1 appletID=2 objectID=14 isApplet=false]]^M
LiveConnectSupport.sendRemoteJavaObjectOp: HAS_FIELD_OR_METHOD "elements"^M
AbstractPlugin.doJavaObjectOp starting to wait for result ID 82^M
JVMInstance (1.6.0.11) processing JavaReplyMessage^M
JVMInstance received JavaReplyMessage with result ID 82^M
AbstractPlugin.doJavaObjectOp ending wait for result ID 82^M
LiveConnectSupport: result [ResultID 82] = true^M
Java thread dump:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
Attaching to core c:\bugs\liveconnect\3rd_iexplore.dmp from executable c:\debugbin\6u14\jvm.dll, please wait...
WARNING: You have disabled SA and VM version check. You may be using incompatible version of SA and you may see unexpected results.
Debugger attached successfully.
Client compiler detected.
JVM version is 14.0-b16
Deadlock Detection:
No deadlocks found.
Finding object size using Printezis bits and skipping over...
Thread 27: (state = BLOCKED, current Java SP = 0x06b7fc00
)
- java.lang.Thread.sleep(long) @bci=0, pc=0x03d99e27, methodOop=0x2b1a7790 (Interpreted frame)
- sun.plugin2.main.server.JVMInstance$HeartbeatThread.run() @bci=154, pc=0x03d92da1, methodOop=0x26a6b2d0 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 26: (state = BLOCKED, current Java SP = 0x0708f860
)
- java.lang.Object.wait(long) @bci=0, pc=0x03d99e27, methodOop=0x2b190590 (Interpreted frame)
- sun.plugin2.message.Queue.waitForMessage(long) @bci=19, pc=0x03d92da1, methodOop=0x26a554a8 (Interpreted frame)
- sun.plugin2.message.Pipe.receive(long) @bci=9, pc=0x03d92f07, methodOop=0x26a540b0 (Interpreted frame)
- sun.plugin2.main.server.JVMInstance$WorkerThread.run() @bci=33, pc=0x03d92f07, methodOop=0x26a5fc60 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 25: (state = IN_NATIVE, current Java SP = 0x06f8f920
)
- java.io.FileInputStream.readBytes(byte[], int, int) @bci=0, pc=0x03d99e27, methodOop=0x2b200cd0 (Interpreted frame)
- java.io.FileInputStream.read(byte[]) @bci=5, pc=0x03d92ec5, methodOop=0x2b200a80 (Interpreted frame)
- sun.plugin2.main.server.JVMInstance$StreamMonitor.run() @bci=13, pc=0x03d92ec5, methodOop=0x26a5d490 (Interpreted frame)
- java.lang.Thread.run() @bci=11, pc=0x03d9327d, methodOop=0x2b1a66f8 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 24: (state = IN_NATIVE, current Java SP = 0x06e8f8a0
)
- java.io.FileInputStream.readBytes(byte[], int, int) @bci=0, pc=0x03d99e27, methodOop=0x2b200cd0 (Interpreted frame)
- java.io.FileInputStream.read(byte[], int, int) @bci=4, pc=0x03d92ec5, methodOop=0x2b200a30 (Interpreted frame)
- java.io.BufferedInputStream.fill() @bci=175, pc=0x03d92ec5, methodOop=0x2b203480 (Interpreted frame)
- java.io.BufferedInputStream.read1(byte[], int, int) @bci=44, pc=0x03d92da1, methodOop=0x2b203700 (Interpreted frame)
- java.io.BufferedInputStream.read(byte[], int, int) @bci=49, pc=0x03d92ec5, methodOop=0x2b2034d0 (Interpreted frame)
- java.io.FilterInputStream.read(byte[]) @bci=5, pc=0x03d92ec5, methodOop=0x2b202cb8 (Interpreted frame)
- sun.plugin2.main.server.JVMInstance$StreamMonitor.run() @bci=13, pc=0x03d92ec5, methodOop=0x26a5d490 (Interpreted frame)
- java.lang.Thread.run() @bci=11, pc=0x03d9327d, methodOop=0x2b1a66f8 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 23: (state = IN_NATIVE, current Java SP = 0x06d8fa70
)
- java.lang.ProcessImpl.waitFor() @bci=0, pc=0x03d99e27, methodOop=0x26a5b500 (Interpreted frame)
- sun.plugin2.jvm.JVMLauncher$JVMWatcher.run() @bci=17, pc=0x03d92ec5, methodOop=0x26a5ccf8 (Interpreted frame)
- java.lang.Thread.run() @bci=11, pc=0x03d9327d, methodOop=0x2b1a66f8 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 22: (state = IN_NATIVE, current Java SP = 0x06c7f960
)
- sun.plugin2.os.windows.Windows.ReadFile0(long, java.lang.Object, int, int, java.lang.Object, int, java.nio.ByteBuffer) @bci=0, pc=0x03d99e27, methodOop=0x269c73b8 (Interpreted frame)
- sun.plugin2.os.windows.Windows.ReadFile(long, java.nio.Buffer, int, java.nio.IntBuffer, sun.plugin2.os.windows.OVERLAPPED) @bci=63, pc=0x03d92fcd, methodOop=0x269c7338 (Interpreted frame)
- sun.plugin2.ipc.windows.WindowsNamedPipe.read(java.nio.ByteBuffer) @bci=27, pc=0x03d92fcd, methodOop=0x26a2f670 (Interpreted frame)
- sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.read() @bci=67, pc=0x03d92ec5, methodOop=0x26a33af8 (Interpreted frame)
- sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.readByte() @bci=25, pc=0x03e2d797, methodOop=0x26a33d38 (Compiled frame)
- sun.plugin2.message.AbstractSerializer.readInt() @bci=1, pc=0x03e3177f, methodOop=0x26a366b0 (Compiled frame)
- sun.plugin2.message.transport.SerializingTransport.read() @bci=15, pc=0x03d933a1, methodOop=0x26a32bc0 (Interpreted frame)
- sun.plugin2.message.Pipe$WorkerThread.run() @bci=34, pc=0x03d933e3, methodOop=0x26a55f70 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 21: (state = BLOCKED, current Java SP = 0x0685fc20
)
- java.lang.Object.wait(long) @bci=0, pc=0x03d99e27, methodOop=0x2b190590 (Interpreted frame)
- java.lang.Object.wait() @bci=2, line=485, pc=0x03d92da1, methodOop=0x2b1904f0 (Interpreted frame)
- com.sun.deploy.util.Trace$TraceMsgQueueChecker.run() @bci=30, pc=0x03d92da1,
methodOop=0x269f6748 (Interpreted frame)
- java.lang.Thread.run() @bci=11, pc=0x03d9327d, methodOop=0x2b1a66f8 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 17: (state = BLOCKED, current Java SP = null
)
Locked ownable synchronizers:
- None
Thread 16: (state = BLOCKED, current Java SP = null
)
Locked ownable synchronizers:
- None
Thread 15: (state = BLOCKED, current Java SP = 0x0625fb20
)
- java.lang.Object.wait(long) @bci=0, pc=0x03d99e27, methodOop=0x2b190590 (Interpreted frame)
- java.lang.ref.ReferenceQueue.remove(long) @bci=44, pc=0x03d92da1, methodOop=0x2b1d1d28 (Interpreted frame)
- java.lang.ref.ReferenceQueue.remove() @bci=2, pc=0x03d92f07, methodOop=0x2b1d1d78 (Interpreted frame)
- java.lang.ref.Finalizer$FinalizerThread.run() @bci=3, pc=0x03d92f07, methodOop=0x2b1d8298 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 14: (state = BLOCKED, current Java SP = 0x0615fbd0
)
- java.lang.Object.wait(long) @bci=0, pc=0x03d99e27, methodOop=0x2b190590 (Interpreted frame)
- java.lang.Object.wait() @bci=2, line=485, pc=0x03d92da1, methodOop=0x2b1904f0 (Interpreted frame)
- java.lang.ref.Reference$ReferenceHandler.run() @bci=46, pc=0x03d92da1, methodOop=0x2b1d7ee8 (Interpreted frame)
Locked ownable synchronizers:
- None
Thread 0: (state = IN_NATIVE, current Java SP = 0x0013b8c0
)
- sun.plugin2.main.server.WindowsHelper.runMessagePump0(long, long, boolean) @bci=0, pc=0x03d99e27, methodOop=0x26b259c8 (Interpreted frame)
- sun.plugin2.main.server.WindowsHelper.runMessagePump(sun.plugin2.ipc.Event, long, boolean) @bci=20, pc=0x03d92da1, methodOop=0x26b25948 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.runMessagePump(long) @bci=12, pc=0x03d92da1, methodOop=0x269b0518 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.runMessagePump() @bci=4, pc=0x03d92da1, methodOop=0x269b0488 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.access$400(sun.plugin2.main.server.IExplorerPlugin) @bci=1, pc=0x03d92da1, methodOop=0x269b0af0 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin$1.waitForSignal() @bci=4, pc=0x03d92da1, methodOop=0x26a6a2e0 (Interpreted frame)
- sun.plugin2.main.server.ResultHandler.waitForResult(sun.plugin2.main.server.ResultID, int, sun.plugin2.main.server.AppletID) @bci=48, pc=0x03d92da1, methodOop=0x26a6a718 (Interpreted frame)
- sun.plugin2.main.server.AbstractPlugin.doJavaObjectOp(sun.plugin2.liveconnect.RemoteJavaObject, boolean, int, java.lang.String, long, long, int, long, long)
@bci=285, pc=0x03d92da1, methodOop=0x269b4c20 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.doJavaObjectOp(sun.plugin2.liveconnect.RemoteJavaObject, boolean, int, java.lang.String, long, long, int, long, long) @bci=83, pc=0x03d92fcd, methodOop=0x269afd08 (Interpreted frame)
- sun.plugin2.main.server.AbstractPlugin.javaObjectHasFieldOrMethod(sun.plugin2.liveconnect.RemoteJavaObject, long) @bci=15, pc=0x03d92fcd, methodOop=0x269b4900 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.GetIDOfName(java.lang.String, sun.plugin2.liveconnect.RemoteJavaObject) @bci=115, pc=0x03d92fcd, methodOop=0x269aff20 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.iDispatchInvoke0(long, long, java.lang.String, int, boolean, long, int, java.lang.Object[]) @bci=0, pc=0x03d99e05, methodOop=0x269aea78 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.iDispatchInvoke(long, java.lang.String, int, long, int) @bci=22, pc=0x03d92ec5, methodOop=0x269aebd0 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.javaScriptCallImpl(sun.plugin2.liveconnect.BrowserSideObject, java.lang.String, java.lang.Object[], int) @bci=73, pc=0x03d92f07, methodOop=0x269ae860 (Interpreted frame)
- sun.plugin2.main.server.IExplorerPlugin.javaScriptCall(sun.plugin2.liveconnect.BrowserSideObject, java.lang.String, java.lang.Object[]) @bci=5, pc=0x03d92f07, methodOop=0x269ae230 (Interpreted frame)
- sun.plugin2.main.server.LiveConnectSupport$PerPluginInfo.javaScriptCall(sun.plugin2.message.Conversation, sun.plugin2.liveconnect.BrowserSideObject, java.lang.String, java.lang.Object[]) @bci=149, pc=0x03d933e3, methodOop=0x26a67ee0 (Interpreted frame)
- sun.plugin2.main.server.LiveConnectSupport.javaScriptCall(sun.plugin2.message.Conversation, int, sun.plugin2.liveconnect.BrowserSideObject, java.lang.String, java.lang.Object[]) @bci=9, pc=0x03d92f07, methodOop=0x26a65260 (Interpreted frame)
- sun.plugin2.main.server.JVMInstance$WorkerThread$2.doWork() @bci=35, pc=0x03d92f07, methodOop=0x26b24a68 (Interpreted frame)
- sun.plugin2.main.server.JVMInstance$6.run() @bci=8, pc=0x03d92f07, methodOop=0x26b22de8 (Interpreted frame)
Locked ownable synchronizers:
- None