When a STA com object used from a multithreaded client application deadlock occours inside the COM marshaller. This is hapenning only on windows 2003 and Same application runs fine on windows 2000. Tha call stack is as follows: and at any time there would be atleast 20 similar threads: //////////////////////////////////////////////////// ntdll!KiFastSystemCallRet ntdll!NtWaitForSingleObject+c kernel32!WaitForSingleObjectEx+88 kernel32!WaitForSingleObject+12 ole32!CoGetCallContext+13ab ole32!WdtpInterfacePointer_UserMarshal+1e3e ole32!WdtpInterfacePointer_UserMarshal+410 ole32!GetHGlobalFromStream+1733 ole32!GetHGlobalFromStream+16cb rpcrt4!NdrProxySendReceive+40 rpcrt4!NdrProxyInitialize+b0 rpcrt4!I_RpcProxyNewConnection+128c9 rpcrt4!NdrUserMarshalFree+a1 MyServer!Logger::CLog::AppendLine+3c m:\My server\release\Logger.tli @ 160 + 22 MyServer!ProcessItemThread+c1 m:\My server\rooter.cpp @ 5060 kernel32!GetModuleFileNameA+eb ///////////////////////////////////////////////// Has anyone else faced similar issue? Thanks in advance Surya