mickael-kerjean/filestash · error

RPC error: %s

Error message

RPC error: %s

What it means

Produced in readNfsMessage when an NFS RPC reply is not an accepted REPLY with status SUCCESS, as checked by isRpcSuccess. The %s carries the RPC-level rejection reason (e.g. auth_error, prog_unavail, proc_unavail, garbage). It surfaces transport/protocol-level NFS failures to callers like Ping and runNfsTransaction, distinct from NFS operation-level errors.

Source

Thrown at server/plugin/plg_backend_nfs4/repo/nfs4/client.go:241

	defer func() {
		if i := recover(); i != nil {
			if e, ok := i.(XdrError); ok {
				err = e
			} else {
				panic(i)
			}
		}
	}()

	reply := Rpc_msg{}
	in := XdrIn{In: bytes.NewReader(msgBuf)}
	in.Marshal("", &reply)
	if _, ok := result.(XdrType_void); !ok {
		in.Marshal("", result)
	}

	if !c.isRpcSuccess(&reply) {
		err = fmt.Errorf("RPC error: %s", c.getRpcError(&reply))
		return
	}
	xid = reply.Xid

	return
}

// Returns true iff msg is an accepted REPLY with status SUCCESS.
func (c *NfsClient) isRpcSuccess(msg *Rpc_msg) bool {
	return msg != nil &&
		msg.Body.Mtype == REPLY &&
		msg.Body.Rbody().Stat == MSG_ACCEPTED &&
		msg.Body.Rbody().Areply().Reply_data.Stat == SUCCESS
}

// An *Rpc_msg can represent an error.  Call IsSuccess to see if there
// was actually an error.
func (c *NfsClient) getRpcError(m *Rpc_msg) string {

View on GitHub (pinned to 78f756eb94)

Solutions

  1. Inspect the wrapped RPC status (getRpcError) to identify auth vs program-level rejection
  2. Verify NFS server availability, export ACLs, and that the client host is allowed (showmount/exportfs checks)
  3. Check for auth mismatch: sec=sys/krb5 settings, UID mapping, or stale rpcbind/portmapper entries
  4. Retry against a healthy server; transient RPC garbage replies can indicate network corruption
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at server/plugin/plg_backend_nfs4/repo/nfs4/client.go:241 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of mickael-kerjean/filestash@78f756eb94 (2026-09-06). Data as JSON: /api/errors/474075695b0676d4. Report an issue: GitHub.