| Previous | Next |
| EDOTDOT | ENOTACTIVE |
ERPCMISMATCH
ERPCMISMATCH is the Darwin errno for an ONC RPC protocol-version mismatch. It is about the outer RPC protocol, not the version of a particular remote program such as NFS, NIS, or another RPC service. In ONC RPC version 2, the call body has a separate rpcvers field; RFC 5531 requires that field to be 2.
The protocol distinguishes this case from failures after a call has been accepted. An RPC reply with RPC_MISMATCH rejects the message because the server cannot run the caller’s RPC protocol version and carries the lowest and highest supported RPC versions. Darwin ERPCMISMATCH is therefore not interchangeable with EPROGMISMATCH, which is about a version of the requested remote program.
What to inspect
- Capture the rejected RPC reply, including its
RPC_MISMATCHlow and high version values. Those values are the concrete evidence of what the peer supports. - Record the RPC program, program version, procedure number, transport, and endpoint separately. They are not substitutes for the RPC protocol version.
- Verify that the service reached is the intended ONC RPC endpoint. A wrong intermediary, legacy service, or protocol-speaking component can produce a compatibility failure even when the expected application server supports the required service.
- Do not change a remote program version merely because the log shows this code. Program-version changes address
EPROGMISMATCH, not an RPC wire-protocol rejection.
Related statuses
ERPCMISMATCH: the RPC protocol version itself is incompatible.EPROGMISMATCH: the RPC program exists but does not support the requested program version.EPROGUNAVAIL: the remote endpoint has not exported the requested program.
References
- Apple XNU: errno.h
- RFC 5531: rpcvers, RPC_MISMATCH, and rejected replies
- RFC 4506: XDR representation used by ONC RPC
Looking for a different code? Search another status or error code.
