Rpc call error

How gRPC deals with errors, and gRPC error codes.

How gRPC deals with errors, and gRPC error codes.

Error handling

How gRPC deals with errors, and gRPC error codes.

Standard error model

As you’ll have seen in our concepts document and examples, when a gRPC call
completes successfully the server returns an OK status to the client
(depending on the language the OK status may or may not be directly used in
your code). But what happens if the call isn’t successful?

If an error occurs, gRPC returns one of its error status codes instead, with an
optional string error message that provides further details about what happened.
Error information is available to gRPC clients in all supported languages.

Richer error model

The error model described above is the official gRPC error model,
is supported by all gRPC client/server libraries, and is independent of
the gRPC data format (whether protocol buffers or something else). You
may have noticed that it’s quite limited and doesn’t include the
ability to communicate error details.

If you’re using protocol buffers as your data format, however, you may
wish to consider using the richer error model developed and used
by Google as described
here. This
model enables servers to return and clients to consume additional
error details expressed as one or more protobuf messages. It further
specifies a standard set of error message
types
to cover the most common needs (such as invalid parameters, quota
violations, and stack traces). The protobuf binary encoding of this
extra error information is provided as trailing metadata in the
response.

This richer error model is already supported in the C++, Go, Java,
Python, and Ruby libraries, and at least the grpc-web and Node.js
libraries have open issues requesting it. Other language libraries may
add support in the future if there’s demand, so check their github
repos if interested. Note however that the grpc-core library written
in C will not likely ever support it since it is purposely data format
agnostic.

You could use a similar approach (put error details in trailing
response metadata) if you’re not using protocol buffers, but you’d
likely need to find or develop library support for accessing this data
in order to make practical use of it in your APIs.

There are important considerations to be aware of when deciding whether to
use such an extended error model, however, including:

  • Library implementations of the extended error model may not be consistent
    across languages in terms of requirements for and expectations of the error
    details payload
  • Existing proxies, loggers, and other standard HTTP request
    processors don’t have visibility into the error details and thus
    wouldn’t be able to leverage them for monitoring or other purposes
  • Additional error detail in the trailers interferes with head-of-line
    blocking, and will decrease HTTP/2 header compression efficiency due to
    more frequent cache misses
  • Larger error detail payloads may run into protocol limits (like
    max headers size), effectively losing the original error

Error status codes

Errors are raised by gRPC under various circumstances, from network failures to
unauthenticated connections, each of which is associated with a particular
status code. The following error status codes are supported in all gRPC
languages.

General errors

Case Status code
Client application cancelled the request GRPC_STATUS_CANCELLED
Deadline expired before server returned status GRPC_STATUS_DEADLINE_EXCEEDED
Method not found on server GRPC_STATUS_UNIMPLEMENTED
Server shutting down GRPC_STATUS_UNAVAILABLE
Server threw an exception (or did something other than returning a status code to terminate the RPC) GRPC_STATUS_UNKNOWN

Network failures

Case Status code
No data transmitted before deadline expires. Also applies to cases where some data is transmitted and no other failures are detected before the deadline expires GRPC_STATUS_DEADLINE_EXCEEDED
Some data transmitted (for example, the request metadata has been written to the TCP connection) before the connection breaks GRPC_STATUS_UNAVAILABLE

Protocol errors

Case Status code
Could not decompress but compression algorithm supported GRPC_STATUS_INTERNAL
Compression mechanism used by client not supported by the server GRPC_STATUS_UNIMPLEMENTED
Flow-control resource limits reached GRPC_STATUS_RESOURCE_EXHAUSTED
Flow-control protocol violation GRPC_STATUS_INTERNAL
Error parsing returned status GRPC_STATUS_UNKNOWN
Unauthenticated: credentials failed to get metadata GRPC_STATUS_UNAUTHENTICATED
Invalid host set in authority metadata GRPC_STATUS_UNAUTHENTICATED
Error parsing response protocol buffer GRPC_STATUS_INTERNAL
Error parsing request protocol buffer GRPC_STATUS_INTERNAL

Sample code

For sample code illustrating how to handle various gRPC errors, see the
grpc-errors repo.

Are you getting the remote procedure call failed error? Solve the remote procedure call failed error for Windows 7, 8 or 10 with this guide. We cover a wide spectrum of solutions. Often, you can only find two or three solutions, but we are bringing you 15 fixes. So, if you’ve tried other remote procedure call failed solutions but didn’t receive results, this can be the ultimate stop-to-execute error in Windows 10:

remote procedure call failed error services
  1. Change Default Program
  2. Run The Windows Store Apps Troubleshooter
  3. Windows Photo Viewer
  4. Start The Service – Remote Procedure Call (RPC) Locator
  5. Use The Command Prompt
  6. Use System File Checker 
  7. RppSs Registry Key Editor 
  8. Disable Windows Search Services
  9. Delete Contents From LocalState Folder
  10. Set The Default DPI Scaling
  11. Scan The Computer For Malware And Virus
  12. Windows Updates
  13. Registry Cleaner And Third-Party Software
  14. Uninstall Some Additions
  15. Reset Or Reinstall Your Windows 

How To Fix The Remote Procedure Call Failed Error In Windows 10

1. Change Default Program Method

default apps startup type execute error message

Often, the reason behind the remote procedure call failed error is a default program. You might have a wrong, or corrupt program set to open specific files or photos. For this, you might have to resume to default programs offered by Windows:

  • Go to the Control Panel on your Windows
  • Click on ‘Programs’ and find Default Programs in the settings.
  • Next, select ‘Set your default programs’ from the list.
  • Now, find Windows Photo Viewer from the list and select it as default.

If you still get the ‘remote procedure call failed’ error, repeat this action. Do it for the programs that run any file or photo on your system.

2. Run The Troubleshooter Method

execute error message run troubleshooter for RPC error

A good way to fix the remote procedure call failed error is if you run the troubleshooter. Windows 10 comes with a well-versed troubleshooter. It can help you diagnose any errors automatically and fix them.

  • Open your Window’s Settings (Windows Key + I)
  • Find ‘Troubleshoot’ settings in the Search Bar given.
  • You can find an option to Run Troubleshoot or click on ‘Additional Troubleshooters.’
  • Among the list, find Windows Store Apps Troubleshooter. Run it and follow the process.

This can fix the issue but remember, it is not a ‘solve-all’ solution. Troubleshooter fixes many basic errors.

3. Use Windows Photo Viewer Method

windows photo viewer execute error in windows fix open with

You can use this solution for remote procedure call failed error. Your default program might be set to Windows Photo Viewer, already. Still, you might get an error if you are trying to open certain photo files. For this, you can use this step to view the pictures and other files:

  • Right-click on the File and select the ‘Open With’ option.
  • Find Windows Photo Viewer from the list and click on it.
  • You can also set it as a default for these file types.
  • Then click OK and apply changes.

Try to open the file and see if it works. If it doesn’t, you can use the same solution to try different applications.

4. Start The Service (RPC) Set To Automatic

execute error startup type set to automatic in services to fix

For some reason, some systems have Remote Procedure Call (RPC) Locator set to manual. It can happen for countless reasons, like selecting a different default program. You can go ahead and use the Services option to fix this issue:

  • Press Windows Key + R to launch the RUN app.
  • Type ‘services.msc’ and press Enter or click OK. It would be wise to run as Administrator.
  • From the list, find ‘AppX Deployment Service.’ Find the ‘Remote Procedure Call (RPC) Locator,’ on the list
  • Right-click on it, go to Properties, and select ‘Startup type.’ Set to automatic.
  • Click on the ‘Start’ button right below it and wait for the process. Then apply changes, click OK.

This is also known as the Dcom server process launcher option. It helps you fix the Remote procedure call (RPC) settings. Restart the PC and see if it fixed the remote procedure call failed error. 

5. Use The Command Prompt Method

command line command prompt to fix execute error Remote procedure call failed

This is another method to fix the remote procedure call failed error. You will have to put some time and effort into it. There is a series of codes or ‘command line’ available for you below.

First, launch Command Prompt. Run as Administrator and click yes on the Permission.

Now, follow these sequences. Use them one after another to complete the entire process:

  • net start rpcss
  • net stop wuauserv
  • net stop cryptSvc
  • net stop bits
  • net stop msiserver
  • ren C:WindowsSoftwareDistribution SoftwareDistribution.old
  • ren C:WindowsSystem32catroot2 catroot2.old
  • net start wuauserv
  • net start cryptSvc
  • net start bits
  • net start msiserver

You can type them as you go and it will fix the execute error. The computer might restart after finishing the process. But, that’s part of it.

6. Use System File Checker (SFC/Scannow) Method

execute error sfc/scannow to fix system files

Windows 10 also comes with three other diagnostic tools. System File Checker (SFC), DISM, and CHKDSK are these tools. SFC can be a great asset in fixing the remote procedure call failed error. It will scan your system for damaged components and repair them. This is a great way for you to fix the remote procedure call failed error. 

  • Go to your Start Menu (Windows Logo) and use the search bar to find Command Prompt.
  • Right-click and Run As Admin.
  • Type: ‘sfc/scannow’ in the command line and press Enter.
  • Now, System File Checker will scan the files and fix them. The repair process might take some time.
  • Once it finishes, you will have to restart the computer.

7. RppSs Registry Key (Registry Editor)

registry editor to fix remote procedure call error

This is another fix for Windows 7 and Windows 10 users with remote procedure call errors in Windows 10. You will have to access the Registry Editor for this. So, make sure that you are careful with these steps. Any unwanted changes in the Registry Editor can lead to a lot of problems. With that in mind:

  • Use the RUN program (Windows + R) and type regedit. press enter.
  • Go to the following location: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRpcSs
  • Find ‘Start’ and double click on ‘DWORD’ and in the Value Data field, type 2.
  • Save your changes, click OK.

Restart and it should fix the error. This is a great option to fix the remote procedure call failed SQL server error.

8. Disable Windows Search Service

windows search service

Windows Search Service allows you to use the search bars in the OS. It is enabled by default but sometimes, it can cause problems. Maybe something changed the settings and led to DISM errors. This can lead to a Remote Procedure Call (RPC) error.

You can enable or disable the service by:

  • Open the RUN program and type ‘services.msc’ and click OK.
  • Find Windows Search from the options of the services.
  • Right-click on it and access Properties.
  • Under the General tab, find the Stop option. This will disable the service temporarily.
  • It will have a DCOM server process launcher like the RPC Locator settings. You can also choose to manually or automatically start the service.
  • Make sure to temporarily disable the service if you are accessing DISM services. Don’t mess with other services.

9. Deleting Contents From LocalState Folder

local state folder in Windows 10

The LocalState Folder is like the temporary files folder. It has some settings that you can delete to remove customization. You will clear the cache and reset the settings that you can change later. It is a good idea to delete LocalState folder’s files if you get the error:

  • Open the drive in which you installed the OS. Then follow: Username/Administrator/AppData/Local/Packages/Microsoft.Windows.Photos_fefingrwg5/LocalState. Remember that the Windows.Photos_cw5n or whatever might vary with each user.
  • Now select all the files in the Local State folder and delete them
  • You might have to grant the admin permission.
  • Now, go to RUN and type %temp% and it will open a folder. Select and delete all the files.

Restart your system and see if you are still getting the remote procedure call failed error.

10. Set The Default DPI Scaling

display computer setting to fix execute error

If the error still persists, it might be a DPI settings issue. This can happen to Windows 7 users the most. Follow these steps to fix the issue:

  • Open your Control Panel and go to the appearance and personalization option.
  • Find Display settings. Make sure to set the Display to be smaller, at 100%.
  • Save all the changes.

Restart your system. You might have to do the same for Windows 10.

11. Scan Your System

scan your computer for malware to fix execute error in windows

If you’ve tried everything and it still doesn’t work then you need to try to check for Malware and Viruses. Those were some of the best solutions to fix your problem. If you still didn’t have any luck, it is certainly a malware or virus problem. So, what can you do about it?

The best thing for you to do is use the Microsoft Windows Defender. It is a built-in security program for Windows 10 users. For Windows 7 users, you can use Avast’s free program, Malwarebytes, and such.

12. Windows Update

check for updates to fix RPC execute error in Windows

The Remote Procedure Call Failed Error is more common in older operating systems. You can find it in Windows 7, 8 and earlier versions of Windows 10. Hence, it might be time for you to update your system.

Try to get the latest version of the Operating system for your computer. If you are already using Windows 10 then:

  • Open the Control Panel and go to the Systems and Security option.
  • There, you will find an Updates option. Go there and click on Check for Updates.
  • Make sure that you’re mostly downloading essential updates. You can manually download other updates that can tweak your system’s performance.
  • Let the process go through and restart your PC.

13. Registry Cleaner Or Other Software Issue

registry cleaner and third-party software

Are you using any third-party optimization tool or registry cleaner? Microsoft Windows hasn’t launched its Registry Cleaner and for a good reason too. Registry Editor is a crucial aspect of your operating system. Messing with it can change system values and this leads to many other errors.

Many third-party platforms and apps want you to believe that you need a registry cleaner. The truth is, you don’t. It won’t enhance your system either. So, just stick to the Registry editor solution above.

Stick to genuine and credible tools if you truly want to optimize your system. These things will help you with the Remote Procedure Call Failed Error.

14. Uninstall Some Additions

windows video editor codecs and PDF

You can do system clean-up. Use disk defragmentation and other things. You might even have to reinstall or re-download the file you’re trying to work with the system.

The best you can do is uninstall any video codecs you installed or updated recently. This also applies to the PDF architect. Yes, the remote procedure call failed error is related to the display. It all starts with Video codecs, PDF architecture, and Display settings.

Give these a try and restart your PC.

If it still didn’t work. Try to reinstall some default programs and applications. This includes Windows Photo Viewer, PDF viewer, etc. to see if this fixes the issue.

15. Reset Or Reinstall The Windows

reset the pc to fix the remote procedure call failed error

This is the end of the line and you’ve tried everything. As a last-ditch effort, you can try and transfer data to a new User Account. If that doesn’t solve the problem, you might have to try a System restore point. But, if you don’t have a system restore point, you will have to reset your PC.

Table Of Contents

RPC/XDR Errors

RPC Library Error Messages

AUTHUNIX_CREATE OUT OF MEMORY

CACHE_SET COULD NOT ALLOCATE NEW RPC_BUFFER

CACHE_SET VICTIM NOT FOUND

CACHE_SET VICTIM ALLOC FAILED

CLNT_BROADCAST BROADCAST DESERIALIZATION PROBLEM

CLNT_BROADCAST BROADCAST RPC NOT SUPPORTED

CLNT_BROADCAST BROADCAST SELECT PROBLEM

CLNT_BROADCAST CANNOT CREATE SOCKET FOR BROADCAST RPC

CLNT_BROADCAST CANNOT RECEIVE REPLY TO BROADCAST

CLNT_BROADCAST CANNOT SEND BROADCAST PACKET

CLNT_BROADCAST CANNOT SET SOCKET OPTION SO_BROADCAST

CLNT_PCREATEERROR string

CLNT_PERRNO string

CLNT_PERROR string

CLNTRAW_CREATE FATAL HEADER SERIALIZATION ERROR

CLNTTCP_CREATE OUT OF MEMORY

CLNTUDP_CREATE OUT OF MEMORY

GET_MYADDRESS GETHOSTNAME

GET_MYADDRESS GETHOSBYTNAME

MAKEFD_XPRT OUT OF MEMORY

MARSHAL_NEW_AUTH FATAL MARSHALLING PROBLEM

MVS_SVC_RUN SELECT FAILED

REGISTERRPC CAN’T REASSIGN PROCEDURE NUMBER 0

REGISTERRPC COULDN’T CREATE AN RPC SERVER

REGISTERRPC COULDN’T REGISTER PROG d_value1 VERS d_value2

SVC_RUN SELECT FAILED

SVCAUTH_UNIX BAD AUTH_LEN GID d_value1 STR d_value2 AUTH d_value3

SVCTCP_CREATE CANNOT GETSOCKNAME OR LISTEN

SVCTCP_CREATE OUT OF MEMORY

SVCTCP_CREATE TCP SOCKET CREATION PROBLEM

SVCUDP_BUFCREATE CANNOT GETSOCKNAME

SVCUDP_BUFCREATE OUT OF MEMORY

SVCUDP_BUFCREATE UDP SOCKET CREATION PROBLEM

SVCUDP_CREATE OUT OF MEMORY

SVCUDP_ENABLECACHE CACHE ALREADY ENABLED

SVCUDP_ENABLECACHE COULD NOT ALLOCATE CACHE

SVCUDP_ENABLECACHE COULD NOT ALLOCATE CACHE DATA

SVCUDP_ENABLECACHE COULD NOT ALLOCATE CACHE FIFO

UNIVERSAL COULD NOT SEND REPLY

UNIVERSAL NEVER REGISTERED PROG d_value

UNIVERSAL TROUBLE REPLYING TO PROG d_value

XDR_ARRAY OUT OF MEMORY

XDR_BYTES OUT OF MEMORY

XDR_RECORD OUT OF MEMORY

XDR_REFERENCE OUT OF MEMORY

XDR_STRING OUT OF MEMORY

Message Formatting

clnt_spcreateerror()

clnt_sperrno()

clnt_sperror()

RPC/XDR Errors


This appendix provides reference information on Remote Procedure Call (RPC) error handling. It includes these sections:

RPC Library Error Messages

Lists error messages generated by the RPC library.

Message Formatting

Describes the error message formatting routines clnt_spcreateerror(), clnt_sperrno(), and clnt_sperror().RPC Log Interface

When an error is detected by the RPC library, it calls an externally defined function called rpclog(). The default rpclog shipped with the RPC library simply formats the information passed it and then print it to stderr.

RPC Library Error Messages

This section lists error messages generated by the RPC library. Messages are listed in alphabetical order. For each message, the error number and csect string (csectp) are also given.


Note   Error Number 34 is not used.


AUTHUNIX_CREATE OUT OF MEMORY

Explanation    Error Number 1 — Could not malloc().

csectp — AUTHUNIX_CREATE

CACHE_SET COULD NOT ALLOCATE NEW RPC_BUFFER

Explanation    Error Number 33 — The malloc() function for RPC buffer failed.

csectp — SVCUDP_BUFCREATE

CACHE_SET VICTIM NOT FOUND

Explanation    Error Number 31 — Corrupted cache caused search to be aborted.

csectp — SVCUDP_BUFCREATE

CACHE_SET VICTIM ALLOC FAILED

Explanation    Error Number 32 — The malloc() function for cache element failed.

csectp — SVCUDP_BUFCREATE

CLNT_BROADCAST BROADCAST DESERIALIZATION PROBLEM

Explanation    Error Number 9 — Received a bad RPC reply.

csectp — CLNT_BROADCAST

CLNT_BROADCAST BROADCAST RPC NOT SUPPORTED

Explanation    Error Number 35 — Broadcast RPC is not supported.

csectp — CLNT_BROADCAST

CLNT_BROADCAST BROADCAST SELECT PROBLEM

Explanation    Error Number 13 — The select() function failed when broadcasting.

csectp — CLNT_BROADCAST

CLNT_BROADCAST CANNOT CREATE SOCKET FOR BROADCAST RPC

Explanation    Error Number 10 — The socket() routine failed.

csectp — CLNT_BROADCAST

CLNT_BROADCAST CANNOT RECEIVE REPLY TO BROADCAST

Explanation    Error Number 14 — Client did not receive a reply to a broadcast request.

csectp — CLNT_BROADCAST

CLNT_BROADCAST CANNOT SEND BROADCAST PACKET

Explanation    Error Number 12 — The sendto() routine using broadcast address failed.

csectp — CLNT_BROADCAST

CLNT_BROADCAST CANNOT SET SOCKET OPTION SO_BROADCAST

Explanation    Error Number 11 — The setsockopt() routine for SO_BROADCAST failed.

csectp — CLNT_BROADCAST

CLNT_PCREATEERROR string

Explanation    Error Number 3 — The string is replaced with a message generated by clnt_spcreateerror(). See «Message Formatting» on page -8 for the formatting of string.

csectp — CLNT_PCREATEERROR

CLNT_PERRNO string

Explanation    Error Number 5 — The string is replaced with a message generated by clnt_sperrno(). See «Message Formatting» on page -9 for the formatting of string.

csectp — CLNT_PERRNO

CLNT_PERROR string

Explanation    Error Number 4 — The string is replaced with a message generated by clnt_sperror(). See «Message Formatting» on page -10 for the formatting of string.

csectp — CLNT_PERROR

CLNTRAW_CREATE FATAL HEADER SERIALIZATION ERROR

Explanation    Error Number 6 — Could not XDR RPC call header.

csectp — CLNTRAW_CREATE

CLNTTCP_CREATE OUT OF MEMORY

Explanation    Error Number 1 — Could not malloc().

csectp — CLNTTCP_CREATE

CLNTUDP_CREATE OUT OF MEMORY

Explanation    Error Number 1 — Could not malloc().

csectp — CLNTUDP_CREATE

GET_MYADDRESS GETHOSTNAME

Explanation    Error Number 7 — The gethostname() function failed.

csectp — GET_MYADDRESS

GET_MYADDRESS GETHOSBYTNAME

Explanation    Error Number 8 — The gethostbyname() function failed.

csectp — GET_MYADDRESS

MAKEFD_XPRT OUT OF MEMORY

Explanation    Error Number 1 — Could not malloc().

csectp — MAKEFD_XPRT

MARSHAL_NEW_AUTH FATAL MARSHALLING PROBLEM

Explanation    Error Number 2 — Could not XDR authentication structures.

csectp — AUTHUNIX_CREATE

MVS_SVC_RUN SELECT FAILED

Explanation    Error Number 22 — The select() function failed.

csectp — MVS_SVC_RUN

REGISTERRPC CAN’T REASSIGN PROCEDURE NUMBER 0

Explanation    Error Number 16 — Procedure number is 0 on call to registerrpc().

csectp — REGISTERRPC

REGISTERRPC COULDN’T CREATE AN RPC SERVER

Explanation    Error Number 17 — Couldn’t create an RPC server.

csectp — REGISTERRPC

REGISTERRPC COULDN’T REGISTER PROG d_value1 VERS d_value2

Explanation    Error Number 18 — Could not register RPC server with portmapper. d_value1 is the RPC program number and d_value2 is the RPC program version. number.

csectp — REGISTERRPC

SVC_RUN SELECT FAILED

Explanation    Error Number 22 — The select() function failed.

csectp — SVC_RUN

SVCAUTH_UNIX BAD AUTH_LEN GID d_value1 STR d_value2 AUTH d_value3

Explanation    Error Number 15 — UNIX credentials are invalid. d_value1 is the UNIX group id, d_value2 is the authentication string length and d_value3 is the authentication length.

csectp — SVCAUTH_UNIX

SVCTCP_CREATE CANNOT GETSOCKNAME OR LISTEN

Explanation    Error Number 24 — The getsockname() or listen() function failed.

csectp — SVCTCP_CREATE

SVCTCP_CREATE OUT OF MEMORY

Explanation    Error Number 1 — Could not malloc().

csectp — SVCTCP_CREATE

SVCTCP_CREATE TCP SOCKET CREATION PROBLEM

Explanation    Error Number 23 — Could not create TCP socket.

csectp — SVCTCP_CREATE

SVCUDP_BUFCREATE CANNOT GETSOCKNAME

Explanation    Error Number 26 — The getsockname() function failed.

csectp — SVCUDP_BUFCREATE

SVCUDP_BUFCREATE OUT OF MEMORY

Explanation    Error Number 1 — Could not malloc().

csectp — SVCUDP_BUFCREATE

SVCUDP_BUFCREATE UDP SOCKET CREATION PROBLEM

Explanation    Error Number 25 — Could not create UDP socket.

csectp — SVCUDP_BUFCREATE

SVCUDP_CREATE OUT OF MEMORY

Explanation    Error Number 1 — Could not malloc().

csectp — SVCUDP_CREATE

SVCUDP_ENABLECACHE CACHE ALREADY ENABLED

Explanation    Error Number 27 — Cache enable request when cache already enabled

csectp — SVCUDP_BUFCREATE

SVCUDP_ENABLECACHE COULD NOT ALLOCATE CACHE

Explanation    Error Number 28 — The malloc() function for cache control space failed.

csectp — SVCUDP_BUFCREATE

SVCUDP_ENABLECACHE COULD NOT ALLOCATE CACHE DATA

Explanation    Error Number 29 — The malloc() function for cache data space failed.

csectp — SVCUDP_BUFCREATE

SVCUDP_ENABLECACHE COULD NOT ALLOCATE CACHE FIFO

Explanation    Error Number 30 — The malloc() function for cache FIFO failed.

csectp — SVCUDP_BUFCREATE

UNIVERSAL COULD NOT SEND REPLY

Explanation    Error Number 19 — Could not send reply.

csectp — REGISTERRPC

UNIVERSAL NEVER REGISTERED PROG d_value

Explanation    Error Number 21 — Program d_value was never registered. d_value is the RPC program number.

csectp — REGISTERRPC

UNIVERSAL TROUBLE REPLYING TO PROG d_value

Explanation    Error Number 20 — Could not send reply. d_value is the RPC program number.

csectp — REGISTERRPC

XDR_ARRAY OUT OF MEMORY

Explanation    Error Number 1 — Could not malloc().

csectp — XDR_ARRAY

XDR_BYTES OUT OF MEMORY

Explanation    Error Number 1 — Could not malloc().

csectp — XDR_BYTES

XDR_RECORD OUT OF MEMORY

Explanation    Error Number 1 — Could not malloc().

csectp — XDR_RECORD

XDR_REFERENCE OUT OF MEMORY

Explanation    Error Number 1 — Could not malloc().

csectp — XDR_REFERENCE

XDR_STRING OUT OF MEMORY

Explanation    Error Number 1 — Could not malloc().

csectp — XDR_STRING

Message Formatting

These error message formatting routines are described in this section:

clnt_spcreateerror()

clnt_sperrno()

clnt_sperror()

clnt_spcreateerror()

Explanation    This routine formats a message about errors related to the creation of a client handle. It should be passed a pointer to user message text. It formats the message this way and then returns a pointer to the formatted message:

%s: %nsn

%s

User-supplied message text.

%ns

Message text generated by clnt_sperrno() acting on the client status.

If the creation error is neither RPC_PMAPFAILURE nor RPC_SYSTEMERROR, a newline is appended. Otherwise these errors are additionally added:

For RPC_PMAPFAILURE:

%s: %ns — %esn

%s

User supplied message text.

%ns

Message text generated by clnt_sperrno() acting on the client status.

%es

Message text generated by lnt_sperrno() acting on the RPC error status.

For RPC_SYSTEMERROR:

%s: %ns — %ssn

%s

User supplied message text

%ns

Message text generated by clnt_sperrno() acting on the client status.

%ss

Message text generated by indexing into the perror() socket library error table using the RPC err. If the error is not in the socket library perror() error table %ss is replaced with ERROR %d where %d is the RPC library errno value.

clnt_sperrno()

Explanation    This routine generates a message about an RPC library error. This routine should be passed an enum clnt_stat argument. A pointer to the message text relating to the clnt_stat argument is returned. It can be one of the following:

RPC: SUCCESS

Successful completion

RPC: CAN’T ENCODE ARGUMENTS

Client could not XDR the arguments it is to pass to the remote procedure.

RPC: CAN’T DECODE RESULT

Client could not XDR the result returned from the remote procedure.

RPC: UNABLE TO SEND

Client could not send an RPC CALL to the remote procedure.

RPC: UNABLE TO RECEIVE

Client could not receive the RPC REPLY from the remote procedure.

RPC: TIMED OUT

Client did not get a response from the server within an allowable amount of time.

RPC: INCOMPATIBLE VERSIONS OF RPC

The versions of the RPC protocol used by the server and the client are not equal.

RPC: AUTHENTICATION ERROR

Authentication check failed on remote system.

RPC: PROGRAM UNAVAILABLE

Program is not available on remote system.

RPC: PROGRAM/VERSION MISMATCH

Program and version are not available on the remote system.

RPC: PROCEDURE UNAVAILABLE

Requested procedure of the selected program on the remote system is not available for use.

RPC: SERVER CAN’T DECODE ARGUMENTS

Remote system could not understand arguments passed to the selected program.

RPC: REMOTE SYSTEM ERROR

Remote system had a major failure trying to execute the selected program.

RPC: UNKNOWN HOST

User selected a remote host system that is unknown to the DNR.

RPC: UNKNOWN PROTOCOL

User specified an unsupported protocol to be used for transport.

RPC: PORT MAPPER FAILURE

Remote host’s portmapper could not be communicated with properly.

RPC: PROGRAM NOT REGISTERED

Remote program is not registered with the remote host’s portmapper.

RPC: FAILED (UNSPECIFIED ERROR)

Error was not specific enough to justify its own error code.

RPC: (UNKNOWN ERROR CODE)

Error is not decipherable.

clnt_sperror()

Explanation    This error message formatting routine requires two arguments:

A pointer to a client handle

A pointer to user message text

It formats a message and returns a pointer to the formatted message text.

The user message is formatted followed by a colon and a space (e.g., «%s: «). A message generated by clnt_sperrno() (see «Message Formatting» on page -9) follows and then the message formatting varies based on the current error status.

If the error is any of these, a newline is attached to the user portion and the pointer to the text returned:

RPC_SUCCES

RPC_CANTENCODEARGS

RPC_CANTDECODERES

RPC_TIMEDOUT

RPC_PROGUNAVAIL

RPC_PROCUNAVAIL

RPC_CANTDECODEARGS

RPC_SYSTEMERROR

RPC_UNKNOWNHOST

RPC_UNKNOWNPROTO

RPC_PMAPFAILURE

RPC_PROGNOTREGISTERED

RPC_FAILED

Thus the message for these looks like this:

s: %nsn

An example is:

clnt_sperror(clntp, "USER MESSAGE");

The clnt_sperrno routine returns

RPC: CAN'T DECODE RESULT t

and the message pointer points to

USER MESSAGE: RPC: CAN'T DECODE RESULTn

If the error is RPC_CANTSEND or RPC_CANTRECV, the user portion of the message is followed by an entry from the perror() error message list of the socket library.

The generalized format of the message looks like this:

%s: %ns ; errno = %ssn

%s

User message passed.

%ns

clnt_sperrno() generated message text.

%ss

Message from the socket library.

If the error status is RPC_VERSMISMATCH, the message is formatted like this:

%s: %ns ; LOW VERSION = %lul, HIGH VERSION = %luhn

%s

User message passed.

%ns

clnt_sperrno() generated message text.

%lul

Lowest decimal version number of the RPC program running.

%luh

Highest decimal version number of the RPC program running.

If the error status is RPC_AUTHERROR, the message is formatted like this:

%s: %ns ; why = %sa:

%s

User message provided.

%ns

clnt_sperrno() generated message text.

%sa

Authentication message generated.

These are the authentication messages:

Table 12-1 Authentication Messages

Message

Description

AUTHENTICATION OK

The authentication is OK.

INVALID CLIENT CREDENTIAL

Client authentication credentials are incorrect for authentication type.

SERVER REJECTED CREDENTIAL

Client credentials do not allow access to the procedure.

INVALID CLIENT VERIFIER

Credentials are not supported by client.

SERVER REJECTED VERIFIER

Server could not decode this type of authentication.

CLIENT CREDENTIAL TOO WEAK

Client credentials formatted properly but are of too low authentication to allow access.

INVALID SERVER VERIFIER

Credentials are not supported by server.

FAILED (UNSPECIFIED ERROR)

Authentication failed for an error that does not justify a more specific error code.

UNKNOWN AUTHENTICATION ERROR — %d

The authentication error is unknown to the RPC library. The %d is replaced with the decimal value of the authentication error.

If the error status is RPC_PROGVERSMISMATCH, the message is formatted this way:

%s: %ns ; LOW VERSION = %lul, HIGH VERSION = %luhn

%s

User message provided.

%ns

clnt_sperrno() generated message text.

%lul

Lowest version of the RPC program running.

%luh

Highest version of the RPC program running.

If the error status is not mentioned, the message is formatted this way:

%s: %ns ; S1 = %lu1, S2 = %lu2n

%s

User message provided.

%ns

clnt_sperrno() generated message text.

%lu1

First error argument.

%lu2

Second error argument.

Понравилась статья? Поделить с друзьями:
  • Royal quest create device error
  • Royal clima кассетный кондиционер ошибка e9
  • Rome total war ошибка rome total war при запуске
  • Royal clima error
  • Rowset ошибка фсс