Sun JVM hangs with IE7

Hi,

I am running a SSL VPN site. This site run a java appletin SUN JVM. Everything works fine with IE6 and IE7 if I stay on same page but in IE7 if I go to another tab IE7 hangs. MSJVM works fine in this case. I have approached IE tech support but as per there analysis below problem seems to be in Sun JVM.

Please suggest

Thanks,

Poonam

Explanation from Microsoft Tech support

After deeply analyzing this issue, I found it is caused by the dead lock in Java Applet. However, I have limited resources of JVM and Java applet, it is hard to say which code causes the dead lock. But from IE point of view, I'd like to share with you the following information:

The main thread is pending on thread 0xe84 when switching and rendering the tabbed frame.

0:000> kbnL

# ChildEBP RetAddr Args to Child

00 0012dcbc 7c90e9ab 7c8094e2 00000002 0012dce8 ntdll!KiFastSystemCallRet

01 0012dcc0 7c8094e2 00000002 0012dce8 00000001 ntdll!ZwWaitForMultipleObjects+0xc

02 0012dd5c 7e4195f9 00000002 0012dd84 00000000 kernel32!WaitForMultipleObjectsEx+0x12c

03 0012ddb8 77512235 00000001 0012de00 000003e8 USER32!RealMsgWaitForMultipleObjectsEx+0x13e

04 0012dde0 7751235c 0012de00 000003e8 0012de10 ole32!CCliModalLoop::BlockFn+0x80

05 0012de08 77526749 ffffffff 0012df00 0012de38 ole32!ModalLoop+0x5b

06 0012de18 77601f01 001ab6f8 0012df00 00000000 ole32!SwitchSTA+0x21

07 0012de38 7760109a 0012df00 001b9e4c 0012df5c ole32!CRpcChannelBuffer::SwitchAptAndDispatchCall+0xd1

08 0012df18 77512409 001b9e4c 0012e02c 0012e01c ole32!CRpcChannelBuffer::SendReceive2+0xb9

09 0012df34 775123b2 0012e02c 0012e01c 001b9e4c ole32!CCliModalLoop::SendReceive+0x1e

0a 0012dfa0 77510414 001b9e4c 0012e02c 0012e01c ole32!CAptRpcChnl::SendReceive+0x6f

0b 0012dff4 77ef3db5 001b9e4c 0012e02c 0012e01c ole32!CCtxComChnl::SendReceive+0x113

0c 0012e010 77ef3eac 001fcf7c 0012e058 0012e454 RPCRT4!NdrProxySendReceive+0x43

0d 0012e3ec 71d519ed 71d47dd0 71d4fff2 0012e408 RPCRT4!NdrClientCall2+0x1fa

0e 0012e400 71d516a9 001fcf7c 00b84508 00b917a0 actxprxy!IServiceProvider_RemoteQueryService_Proxy+0x1b

0f 0012e418 00b83332 001fcf7c 00b84508 00b917a0 actxprxy!IServiceProvider_QueryService_Proxy+0x1a

10 0012e438 00b563ad 001fab9c 00b84508 00b917a0 IEFRAME!IUnknown_QueryService+0x3d

11 0012e458 00b56443 001ae954 00b5f650 00000073 IEFRAME!CTabWindow::Exec+0x24

12 0012e490 00b563f4 001ae950 0012e4b0 00000000 IEFRAME!CTabWindow::GetSearchState+0x2f

13 0012e5c4 00b4f1bc 0014f994 00000191 000a0108 IEFRAME!CBrowserFrame::OnTabStateChanged+0xf7

0:000> dt pOXIDEntry

Local var @ 0x12de20 Type OXIDEntry*

0x001ab6f8

+0x000 _pNext: 0x001ab770 OXIDEntry

+0x004 _pPrev: 0x001ab680 OXIDEntry

+0x008 _dwPid: 0xec4

+0x00c _dwTid: 0xe84

In the thread 0xe84, we found:

0:005> kbnL100

# ChildEBP RetAddr Args to Child

00 0257f538 7c90e9ab 7c8094e2 00000002 0257f564 ntdll!KiFastSystemCallRet

01 0257f53c 7c8094e2 00000002 0257f564 00000001 ntdll!ZwWaitForMultipleObjects+0xc

02 0257f5d8 7e4195f9 00000002 0257f600 00000000 kernel32!WaitForMultipleObjectsEx+0x12c

03 0257f634 7e4196a8 00000001 0257f6a4 ffffffff USER32!RealMsgWaitForMultipleObjectsEx+0x13e

04 0257f650 6d409cfc 00000001 0257f6a4 00000000 USER32!MsgWaitForMultipleObjects+0x1f

WARNING: Stack unwind information not available. Following frames may be wrong.

05 0257f720 6d6f45a9 0257f754 0257f8fc 0000000a jpiexp32!Java_sun_plugin_services_WPlatformService_waitEvent+0x2e

06 0257f79c 6d749317 0000000a 00000000 0257f844 jvm!AsyncGetCallTrace+0x1b284

07 0257f7e0 6d6f447a 6d6f447e 0257f8f4 0257f804 jvm!jmm_GetLastGCStat+0x10242

08 0257f8b0 6d6f9835 008c5880 0257f8f4 008c5330 jvm!AsyncGetCallTrace+0x1b155

09 0257f904 6d4043c2 008c5880 008c5330 008fccd9 jvm!AsyncGetCallTrace+0x20510

0a 0257f93c 6d4053d7 0257f95c 6d410954 6d410950 jpiexp32+0x43c2

0b 0257f978 6d40256d 00000000 00000000 008e1560 jpiexp32!CJSObject::Equals+0x29a

0c 0257f9a4 6d40261b 00000000 03eda1d0 00000000 jpiexp32+0x256d

0d 0257f9d0 6d4076a1 008e1560 7ea1214e 008e15e0 jpiexp32+0x261b

0e 0257fa74 7ea12513 00000001 00000000 0257fb04 jpiexp32!DllGetClassObject+0x1b31

0f 0257fa98 7ea12b0c 03eda1d0 045ff700 00000000 mshtml!COleSite::ReleaseObject+0x98

10 0257faec 7e916283 0257fb04 045b5c98 03edf0e0 mshtml!COleSite::Notify+0x5c6

We took the call stack we see that the mshtml.dll (IE module) is trying to change the readystate for the page and we see it stuck in OS waiting for

Sun VM. We cannot really say anything on what Sun VM is doing as we don抰 have symbols for their modules. So either you need to investigate what抯 happening in

your applet or contact Sun for this issue.

IE embed Java applet as one ActiveX control (OLE), when trying to release the OLE and invoke the functions in JPIEXP32 (JVM components), JVM stop responding and waiting for other events...

05 0257f720 6d6f45a9 0257f754 0257f8fc 0000000a jpiexp32!Java_sun_plugin_services_WPlatformService_waitEvent+0x2e

But the event will never returns so the JVM stops responding and causes IE hang. There may be one dead lock or bad design in JVM causes this issue. Please kindly troubleshot it from the Java side.

[5459 byte] By [Poonam_Marwaha] at [2007-11-27 2:27:58]
# 1

Based on these posting bug has been filled on this issue.

Please click on link below to see this bug.

http://bt2ws.central.sun.com/CrPrint?id=6558858

In order to analyze this issue further, we need following information from you.

1) Is there a particular applet that you are trying to access that we can use to reproduce this issue. if so please send link to the applet.

2) What is the jre version that you are using.

Also if any other sysem information that you can provide will be very useful to reproduce this issue.

ketan.h.shaha at 2007-7-12 2:39:22 > top of Java-index,Java HotSpot Virtual Machine,Specifications...