Site icon EfmSoft

What does HRESULT 0x80080006 (CO_E_OBJSRV_RPC_FAILURE) mean?

 
Previous Next
CO_E_SERVER_EXEC_FAILURE MK_E_NO_NORMALIZED

CO_E_OBJSRV_RPC_FAILURE

CO_E_OBJSRV_RPC_FAILURE means that the object server was selected, but RPC communication with that server failed during activation or object exchange.

Start with the failing layer

COM activation is a sequence rather than a single operation: registration lookup, SCM or surrogate selection, process startup, class-factory publication, marshaling, and finally the requested interface call. The useful evidence is the evidence from the first stage that fails; a later RPC or cleanup message can otherwise hide the original activation problem.

CO_E_SCM_RPC_FAILURE concerns the activation controller; CO_E_OBJSRV_RPC_FAILURE points to communication with the object server itself.

Preserve before retrying

  • Server PID and lifetime, RPC exception/status, interface IID, and method/activation phase
  • Server crash/hang dump and event logs immediately before disconnect
  • Proxy/stub or type-library version, apartment model, and marshaling path
  • Local versus remote behavior with the same interface payload

Three useful comparisons

  • Call a trivial method on the same server to distinguish server availability from payload-specific marshaling.
  • Run client and server on one machine to remove the network while preserving RPC marshaling.
  • Enable server-side first-chance exception and RPC ETW tracing for one reproduction.

Decision points

Read the comparison results in this order for RPC communication with an activated COM object server:

A defensible fix

Repair the failed contract rather than the surrounding system: Repair the server crash, marshaling mismatch, RPC transport, or lifetime race that terminates the object channel.

Close the incident only when the same interface call succeeds across process and machine boundaries, including server restart and client reconnect scenarios.

Technical references


Looking for a different code? Search another status or error code.

Exit mobile version