STOP 0xEFFFFFFF Exception in OLE Servers with Multiple Clients
ID: Q195469
|
The information in this article applies to:
-
Microsoft Windows NT Workstation version 4.0
-
Microsoft Windows NT Server version 4.0
SYMPTOMS
When multiple clients are concurrently accessing an out of process COM
server, client calls may fail unexpectedly. Debugging the server during
such failures shows that the server is throwing exception 0xEFFFFFFF.
Recognizing this problem can be difficult because both the client and the
server applications may continue running. In particular, this exception
does not directly result in causing of the server or the client to stop
responding (hang) or a crash.
Rather, the server simply returns a failure to the client. Whether the
client continues functioning correctly after such a failure will depend
entirely on how the client software is written. Well behaved client
applications may silently retry the operation or log an error without being
otherwise adversely affected. Clients that do not take care to check the
return status of their function calls may experience access violations or
other fatal errors.
To confirm whether this problem is the cause of a specific failure, it is
necessary to debug the server application, set the debugger to break on
this exception, and compare the resultant stack to the one below:
RPCRT4! RpcRaiseException@4 + 49 bytes
OLE32! ThreadInvoke(struct _RPC_MESSAGE *) + 524 bytes
RPCRT4! DispatchToStubInC@12 + 52 bytes
RPCRT4! RPC_INTERFACE::DispatchToStubWorker(struct _RPC_MESSAGE *,
unsigned int,long *) + 292 bytes
RPCRT4! RPC_INTERFACE::DispatchToStub(struct _RPC_MESSAGE *,
unsigned int,long *) + 93 bytes
RPCRT4! RPC_INTERFACE::DispatchToStubWithObject(struct _RPC_MESSAGE *,
class RPC_UUID *,unsigned int,long *) + 176 bytes
RPCRT4! WMSG_SASSOCIATION::DealWithRequestMessage(union _WMSG_MESSAGE *,
union _WMSG_MESSAGE *,struct _RPC_MESSAGE *,
class WMSG_SBINDING * *,unsigned int,int,int,int) + 826
bytes
RPCRT4! WMSG_ADDRESS::HandleRequest(union _WMSG_MESSAGE *,
class WMSG_SASSOCIATION *,struct _RPC_MESSAGE *,
class WMSG_ENDPOINT *,int,int) + 146 bytes
RPCRT4! WMSG_ADDRESS::DealWithWMSGRequest(union _WMSG_MESSAGE *,
class WMSG_ENDPOINT * *,struct HWND__ * *,
class WMSG_ASSOCIATION *,union _WMSG_MESSAGE * *) + 734
bytes
RPCRT4! WMSG_ADDRESS::ReceiveLotsaCalls(void) + 837 bytes
RPCRT4! RecvLotsaCallsWrapper(class WMSG_ADDRESS *) + 9 bytes
RPCRT4! BaseCachedThreadRoutine(class CACHED_THREAD *) + 156 bytes
RPCRT4! ThreadStartRoutine(class THREAD *) + 23 bytes
KERNEL32! 77f04f44()
CAUSE
The OLE functions handling typelib marshaling are not completely
multithread safe, resulting in a narrow window of opportunity for the
exception to take place if two or more clients are making concurrent calls
to the server.
RESOLUTION
To resolve this problem, obtain the latest service pack for Windows NT 4.0 or
the individual software update. For information on obtaining the
latest service pack, please go to:
For information on obtaining the individual software update, contact Microsoft
Product Support Services. For a complete list of Microsoft Product Support
Services phone numbers and information on support costs, please go to the
following address on the World Wide Web:
http://www.microsoft.com/support/supportnet/overview/overview.asp
NOTE: If this product was already installed on your computer when you purchased it from the Original Equipment Manufacturer (OEM) and you need this fix, please call the Pay Per Incident number listed on the above Web site. If you contact Microsoft to obtain this fix, and if it is determined that you only require the fix you requested, no fee will be charged. However, if you request additional technical support, and if your no-charge technical support period has expired, or if you are not eligible for standard no-charge technical support, you may be charged a non-refundable fee.
For more information about eligibility for no-charge technical support, see the following article in the Microsoft Knowledge Base:
Q154871
Determining If You Are Eligible for No-Charge Technical Support
STATUS
Microsoft has confirmed this to be a problem in Windows NT version 4.0. This problem was first corrected in Windows NT 4.0 Service Pack 5.
Additional query words:
4.00 object linking embedding com dcom distributed
Keywords : kbbug4.00 kbfix4.00 nt4sp5fix
Version : WinNT:4.0
Platform : winnt
Issue type : kbbug