tags:

views:

88

answers:

1

We have a pretty classic client-server app built using MS RPC, with both ends implemented in C++. The client establishes a session to the server, and makes calls to it over a long period before closing the session.

Periodically, particularly under heavy load, we get an RPC exception via code 1754 (RPC_S_NOTHING_TO_EXPORT).

This happens in the middle of a session: the user has been logged on for a while making calls, then one of the calls returns this error. As far as we can tell the server receives no indication that anything went wrong. It certainly doesn't see the call the client made. The error code appears permanent -- having the client retry the connection doesn't help. There are multiple user sessions active at the time between the same client and server and others are not affected.

There are two questions:

  1. Does anyone know what RPC_S_NOTHING_TO_EXPORT means? The MSDN documentation is terse: "No interfaces have been exported." ... what interfaces!? The session was working fine for numerous instances of the same call up until this point?

  2. Any ideas on how to identify the problem? Capturing network traffic is something we would rather avoid -- the problem is sporadic enough that we would likely see multiple gigabytes of traffic before running into an occurrence.

+1  A: 

Capturing network traffic would be one of the best ways to tackle this issue. If you can't do that, could you dump the client process and debug with WinDBG or Visual Studio? Perhaps compare a dump when operating normally versus in the error state?

BrianLy