FIX: Virtual Machine May Cause a Deadlock (260360)



The information in this article applies to:

  • Microsoft virtual machine

This article was previously published under Q260360

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+0xb
KERNEL32!WaitForMultipleObjectsEx+0xef
MSJAVA!Debugger::DebuggerWait+0x177
MSJAVA!CMCSafeLock::Wait+0x41
MSJAVA!?EnterMP@CMCSafeLock@@AAEXXZ+0x2c(...)
MSJAVA!?EnterObjectCCWLock@@YG
MSJAVA!?Release@CCW@@UAGKXZ
MTXEX!CContext::Unbind+0x538
MTXEX!CContext::ReleaseAll+0x50
MTXEX!ContextWrapper::Release+0xad
MSJAVA!?RemoteReleaseCallback@@YGJPAUtagComCallData@@@Z
MSJAVA!?ContextCallback@CEmulatedContextCallback@@UAGJP6GJPAUtagCoa@@@Z0ABU_GUID@@HPAUIUnknown@@@Z
MSJAVA!?RemoteRelease@@YGXPAUIUnknown@@PAUIContextCallback@@H@Z
MSJAVA!?ReleaseAll@CDeadPunkList@@QAEXXZ
MSJAVA!?LeaveMCWorker@CJavaThreadBlock@@QAEXXZ
MSJAVA!?LeaveMC@CJavaThreadBlock@@QAEJXZ
MSJAVA!?EnterMCWorker@CJavaThreadBlock@@QAE?AW4cmcsafelock_state@@feLock@@H@Z
MSJAVA!?EnterMC@CJavaThreadBlock@@QAEJXZ
MSJAVA!?Release@CCW@@UAGKXZ
MSJAVA!?RemoteReleaseCallback@@YGJPAUtagComCallData@@@Z
MSJAVA!?ContextCallback@CEmulatedContextCallback@@UAGJP6GJPAUtagCoa@@@Z0ABU_GUID@@HPAUIUnknown@@@Z
MSJAVA!?RemoteReleaseCallback@@YGJPAUtagComCallData@@@Z
				
Thread 2:
NTDLL!ZwWaitForMultipleObjects+0xb
KERNEL32!WaitForMultipleObjectsEx+0xef
MSJAVA!Debugger::DebuggerWait+0x177
MSJAVA!CMCSafeLock::Wait+0x41
MSJAVA!?EnterMP@CMCSafeLock@@AAEXXZ+0x2c(...)
MSJAVA!EnterObjectCCWLock+0xd
MSJAVA!CCW::Release+0x11
MSJAVA!RemoteReleaseCallback+0xd
MSJAVA!CEmulatedContextCallback::ContextCallback+0x52
MSJAVA!RemoteRelease+0xa5
MSJAVA!CDeadPunkList::ReleaseAll+0x61
MSJAVA!CJavaThreadBlock::LeaveMCWorker+0x39
MSJAVA!CJavaThreadBlock::LeaveMC+0x1a
MSJAVA!CJavaThreadBlock::EnterMCWorker+0x26
MSJAVA!CJavaThreadBlock::EnterMC+0x2c
MSJAVA!CCW::Release+0x65
MTXEX!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 the Microsoft 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:

Modification Type:MajorLast Reviewed:6/14/2006
Keywords:kbbug kbfix kbJavaVM31xxfix kbJavaVM33xxfix kbWin2000sp1Fix KB260360