FIX: Virtual Machine May Cause a Deadlock

This article was previously published under Q260360
This article has been archived. It is offered "as is" and will no longer be updated.
SYMPTOMS
If you take a user dump when the process seems to be in a blocked state and you examine the dump, you will see threads with call stacks similar to the following:

Thread 1:
NTDLL!ZwWaitForMultipleObjects+0xbKERNEL32!WaitForMultipleObjectsEx+0xefMSJAVA!Debugger::DebuggerWait+0x177MSJAVA!CMCSafeLock::Wait+0x41MSJAVA!?EnterMP@CMCSafeLock@@AAEXXZ+0x2c(...)MSJAVA!?EnterObjectCCWLock@@YGMSJAVA!?Release@CCW@@UAGKXZMTXEX!CContext::Unbind+0x538MTXEX!CContext::ReleaseAll+0x50MTXEX!ContextWrapper::Release+0xadMSJAVA!?RemoteReleaseCallback@@YGJPAUtagComCallData@@@ZMSJAVA!?ContextCallback@CEmulatedContextCallback@@UAGJP6GJPAUtagCoa@@@Z0ABU_GUID@@HPAUIUnknown@@@ZMSJAVA!?RemoteRelease@@YGXPAUIUnknown@@PAUIContextCallback@@H@ZMSJAVA!?ReleaseAll@CDeadPunkList@@QAEXXZMSJAVA!?LeaveMCWorker@CJavaThreadBlock@@QAEXXZMSJAVA!?LeaveMC@CJavaThreadBlock@@QAEJXZMSJAVA!?EnterMCWorker@CJavaThreadBlock@@QAE?AW4cmcsafelock_state@@feLock@@H@ZMSJAVA!?EnterMC@CJavaThreadBlock@@QAEJXZMSJAVA!?Release@CCW@@UAGKXZMSJAVA!?RemoteReleaseCallback@@YGJPAUtagComCallData@@@ZMSJAVA!?ContextCallback@CEmulatedContextCallback@@UAGJP6GJPAUtagCoa@@@Z0ABU_GUID@@HPAUIUnknown@@@ZMSJAVA!?RemoteReleaseCallback@@YGJPAUtagComCallData@@@Z				
Thread 2:
NTDLL!ZwWaitForMultipleObjects+0xbKERNEL32!WaitForMultipleObjectsEx+0xefMSJAVA!Debugger::DebuggerWait+0x177MSJAVA!CMCSafeLock::Wait+0x41MSJAVA!?EnterMP@CMCSafeLock@@AAEXXZ+0x2c(...)MSJAVA!EnterObjectCCWLock+0xdMSJAVA!CCW::Release+0x11MSJAVA!RemoteReleaseCallback+0xdMSJAVA!CEmulatedContextCallback::ContextCallback+0x52MSJAVA!RemoteRelease+0xa5MSJAVA!CDeadPunkList::ReleaseAll+0x61MSJAVA!CJavaThreadBlock::LeaveMCWorker+0x39MSJAVA!CJavaThreadBlock::LeaveMC+0x1aMSJAVA!CJavaThreadBlock::EnterMCWorker+0x26MSJAVA!CJavaThreadBlock::EnterMC+0x2cMSJAVA!CCW::Release+0x65MTXEX!CContext::Unbind+0x538				
CAUSE
This is due to a bug in the Microsoft virtual machine (Microsoft VM) that has to do with the way different threads enter a class lock.
RESOLUTION
To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in theMicrosoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
To resolve this problem, update your version of the Microsoft VM to build 3194 or later. See the "References" section of this article for a link to download the latest Microsoft VM.
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

This problem was first corrected in Windows 2000 Service Pack 1.

This problem was corrected in Microsoft VM build 3194 and later.
REFERENCES
For more information about the latest Microsoft VM, visit the following Microsoft Web site:For support information about Visual J++ and the SDK for Java, visit the following Microsoft Web site:
Properties

Article ID: 260360 - Last Review: 01/10/2015 05:54:43 - Revision: 3.0

  • Microsoft Java Virtual Machine
  • kbnosurvey kbarchive kbbug kbfix kbjavavm31xxfix kbjavavm33xxfix kbwin2000sp1fix KB260360
Feedback