If you are a Windows user, there is a high probability you have encountered an “RPC server is unavailable” error. RPC errors, which occur in situations involving communication between two or more machines through a network, are all too common in Windows. Before tackling the causes of the error and and ways to fix it, it is essential to first know about RPC in detail.
Also, if you want to learn more about Windows networking and IT in general, don't forget to sign up for our email updates where we share all of our knowledge and send useful Windows resources. That way you will have to troubleshoot problems like the RPC server error much less often!
What is RPC?
RPC stands for Remote Procedure Call, which utilizes inter-processing communication technology for Windows processes within a network. RPC works on the basis of a client-server communication model, wherein client and server need not always be a different machine. RPC can also be used to set up communication between different processes on a single machine.
RPC is a kind of request-response protocol, which can be easily explained using a client/server communication model. For purposes of this tutorial, a process invoking a request will be termed as a “client” and the process responding back to the request as a “server.” Do note that here the client or the server can be different devices in a network system or can be different processes residing within a single system.
In RPC, a procedure call is initiated by a client system, which is encrypted and then sent to the server. The call is then decrypted by the server and a response is sent back to the client. RPC plays a vital role in managing devices remotely across a network and is used to share access to peripherals such as printers and scanners. On a simple note, any Windows process involving the distribution and sharing of data over a network usually uses RPC technology. Therefore, it is quite common to face an “RPC server unavailable” issue if you are a Windows user. Remote calls are, however, very intermittent when it comes to the performance and are therefore difficult to trace down.
Reasons for RPC errors
File and printer sharing are disabled
This is the most common cause of RPC errors. When a procedure call or a request is made to a peripheral device such as a printer, the peripheral must be enabled for RPC and must be connected to the network with the client for it to function. If anything goes wrong here, RPC will cease to function.
Network connectivity issues
Since remote procedure call relies on the network for its functioning, lack of a proper network connection might lead to server unavailability issues. In such cases, a client fails to send out a procedural call to the server resulting in the “RPC server unavailable” error.
Name resolution issues
When a client initiates a request, the request is sent to the server using its name, IP address, and port address. If an RPC server's name is mapped to a wrong IP address, it results in client contacting the wrong server and can possibly result in an RPC error.
A third-party firewall or any other security application running on a server, or on a client, might sometimes block the traffic from reaching the server on its TCP ports, resulting in the interruption of RPCs.
RPC depends on a valid Windows registry to work. If any of these entries are modified incorrectly or become corrupted, the RPC service will likely stop functioning.
Dealing with RPC errors
As mentioned earlier, firewalls or any other security-related applications running on the system can block traffic from RPC requests. If you have a third-party firewall installed, try configuring it to allow incoming and outgoing connections for RPCs and other applications that you intend to use in RPCs.
If you’re unable to configure the firewalls, try to turn off the feature for a while until your RPC is successfully made. This way, you can find out whether your firewalls are the root cause for RPC errors.
If you use the default Windows firewall, make an exception for Remote Procedure Calls and Remote desktop for RPC to function.
To do this, follow these steps:
- Log in to your system with the proper administrative privileges
- Click on Start and navigate to “Control Panel” ( For Windows 8 or above directly search for Control Panel from the Windows search)
- Once your Control Panel loads, click on “System and Security”
- Now click on “Allow an app through Windows firewall” under the "Windows Firewall" option from the displayed menu
- In the Allowed apps window, ensure that the Remote Assistance Services option is enabled.
Check Internet connection and its protocols
RPC works on the basis of a client/server model, which relies on a network for its functioning. RPC errors tend to occur when the connection between a client and its server is interrupted. When you encounter such an error, make sure that all your systems are properly connected within a network. You can also use the “ping” command to test your connectivity between the RPC client and server.
It is also a good idea to make sure that all the drivers are properly installed, as they are essential in the inter-networking of an RPC. Although network drivers do not typically cause RPC errors, it is always preferable to check them beforehand.
Do so by following these steps:
- Log on to your system with administrative rights and hover over the start menu
- Click on windows key+R key on the keyboard at the same time, to get Run window and type "ncpa.cpl" in the box and press OK.
- Select the local area connection, right-click it and select Properties.
- From the menu displayed, be sure to enable the “Internet Protocols” and the “File and Printer Sharing for Microsoft Networks.” If any of these items are missing from the local area connection’s properties, you'll need to reinstall them.
Verify RPC Services
A few services related to RPC must be working in the background of both client and server for it to function. These steps will help you check for the exact services required for RPC to function.
- Log in to your system with all the administrative privileges and rights
- Click on windows key+R key on the keyboard at the same time, to get Run window and type "services.msc" in the box and press OK.
- This will load a services window. Here is where you verify whether all the required RPC services are running successfully or not.
- If you find any required service isn't working or is inactive, double click on that service to get the properties window of that particular service
- In the general tab of the properties window, select the “Startup type” to be Automatic and start the service.
This way, you can make sure that all services required by RPC are intact and are properly functioning. In most cases, the problem will be solved by now. However, if the problem still persists, you might need to head to the next step for registry verification.
Verifying system registry
As mentioned earlier, a valid Windows Registry must be available in the system for RPC to function. If any of these registry entries get corrupted or modified, RPC will not function.
When editing your registry, it is essential to be cautious and not mess up any registry entry. Do not edit or delete any registry entry before setting up a system restore point, so you can go back to the old registry if any changes affect your system’s functionality.
Once you have created a restore point, follow these steps to verify your existing RPC registry entries:
- Click on Start menu and select Run
- Once the Run applet loads, type “regedit” in it and click on Ok
- Now navigate to the respective "RpcSs" path(s) based on your version of Windows .
If you find any registry items missing in your respective path(s), consider reinstalling Windows or use third-party tools to fix the broken or invalid registry.
Too lazy to fix these RPC errors manually?
If you feel that tracking down these RPC errors manually and fixing them is not your cup of tea, there is an automated alternative to fix these errors. There are a wide range of third-party applications and tools available in the market to make your work easier.
These tools can clean and fix all the registry entries in the system and clean all the obsolete items in the registry to improve the overall system’s performance. Tools such as SpeedyPC and Reimage can be quite handy to repair your system.
Almost all the RPC errors are caused because of any one or more of these aforementioned reasons. A little patience and a little knowledge about your Windows system can always help you overcome these errors. If nothing works, try updating your Windows OS as most of the issues including broken registry, network settings, permissions, and file systems are restored to default with every Windows update.
Photo credit: Pixabay