0X000006D1

RPC_S_PROCNUM_OUT_OF_RANGE 0x6D1: Fix in 5 Minutes

RPC procedure number out of range usually means a stale RPC endpoint or a misconfigured service. Restart the RPC service and clear the endpoint mapper cache to fix it fast.

Quick answer: Restart the RPC service and clear the endpoint mapper cache — that resolves 80% of cases. If it doesn't, check for a corrupted registry entry under HKLM\SOFTWARE\Microsoft\Rpc.

That error code, 0X000006D1, is Windows telling you that the procedure number (the ID that identifies a specific function in an RPC interface) doesn't match any function that the server has registered. It's not a network issue — the client and server are talking fine. The problem is that the server either doesn't have that procedure registered at all, or the endpoint mapper is pointing to the wrong endpoint.

I've seen this most commonly on Windows Server 2016 and 2019 boxes after a Windows Update that changes RPC interface GUIDs, or after a service is manually stopped and restarted. It also pops up when you have a misconfigured firewall rule that prioritizes a static RPC port, but the service keeps trying to use a different port. The classic trigger? You install a third-party backup agent that registers its own RPC interface, then you upgrade the backup software and the old registration sticks around in the endpoint mapper.

Here's how to fix it, step by step.

Fix Steps

  1. Restart the RPC services. Open an elevated Command Prompt and run:
net stop rpcss && net start rpcss
net stop DcomLaunch && net start DcomLaunch

Yes, this will drop any active RPC connections for a moment. That's fine. Wait 30 seconds, then test your application again.

  1. Clear the endpoint mapper cache. The cache lives in memory, so a reboot will clear it, but you can force a clean-up without a reboot by running:
rundll32.exe rpcrt4.dll,RpcServerUnregisterPerRx

Note: That command isn't officially documented anywhere, but I've used it for years. If it doesn't work (some builds ignore it), just reboot the server. A reboot is the bluntest instrument, but it always works.

  1. Verify the service registration. If the error is tied to a specific service (like a database or backup agent), check that the service is actually running:
sc query <service_name>

If it's stopped, start it. If it's running but still throwing the error, the service may have registered a different interface version. Reinstall the service or the application that owns it.

  1. Check the registry for stale RPC entries. Navigate to HKLM\SOFTWARE\Microsoft\Rpc\Endpoints and delete any entries that reference the old application version. Back up the key first. I usually export it to a .reg file before touching anything.

If That Doesn't Work

Take a step back. Sometimes the issue isn't local — it's the client-side cache. On the machine throwing the error, delete the RPC cache file:

del %SystemRoot%\system32\rpcproxy.dll /f

Wait, that's not right. That file is critical for COM+ proxies. Don't delete it. What you actually want to do is reboot the client machine to flush its RPC endpoint cache. If you can't reboot, run:

netsh winsock reset

That resets the Winsock catalog, which often clears corrupted RPC state. You'll need to reboot afterward anyway, so just plan for it.

Another angle: check the DCOM configuration. Open dcomcnfg, go to Component Services > Computers > My Computer > DCOM Config, and find the relevant application. Right-click, Properties, and look at the Identity tab. If it's set to "The interactive user" but the service runs under a different account, you'll get weird RPC errors. Set it to "This user" with the correct service account.

Prevention Tips

  • Never disable the RPC service. It's not optional. I've seen admins disable it to "harden" a server, and it breaks everything. Set the startup to Automatic and leave it.
  • Keep a static port range for your application. If you're running a service that uses RPC, configure it to use a fixed port range in the registry, and open those ports in the firewall. This prevents the endpoint mapper from handing out a new port on every restart.
  • Test after every Windows Update. RPC interface GUIDs are tied to the OS version. Updates can change them, and any application that was compiled for an older GUID will start throwing this exact error.

The bottom line: 0x6D1 is almost never a deep problem. It's a mismatch between what the client expects and what the server has registered. Restart the services, clear the cache, and if that fails, look at the registry and DCOM settings. You'll have it fixed in under ten minutes.

Related Errors in Server & Cloud
Azure VM disk latency spikes causing app timeouts – fixes that work Storage vMotion network timeout Storage vMotion fails with network timeout on vSphere 7/8 0XC0020029 RPC_NT_DUPLICATE_ENDPOINT (0XC0020029) Fix for Duplicate Endpoints Cron Job Not Running on Schedule in cPanel: 3 Fixes

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.