rustdesk/rustdesk · error · CliprdrError
failure to read file metadata or content, path: {path}, err:
Error message
failure to read file metadata or content, path: {path}, err: {err} What it means
CliprdrError::FileError variant: reading a file's metadata or contents failed during clipboard file transfer. The payload names the exact path and carries the underlying std::io::Error, so the message tells you which file (path) and why (err — permissions, missing file, I/O). It fires when the FUSE/cliprdr backend tries to serve or ingest a file listed on the clipboard and the OS read fails.
Source
Thrown at libs/clipboard/src/lib.rs:87
}
#[derive(Error, Debug)]
pub enum CliprdrError {
#[error("invalid cliprdr name")]
CliprdrName,
#[error("failed to init cliprdr")]
CliprdrInit,
#[error("cliprdr out of memory")]
CliprdrOutOfMemory,
#[error("cliprdr internal error")]
ClipboardInternalError,
#[error("cliprdr occupied")]
ClipboardOccupied,
#[error("conversion failure")]
ConversionFailure,
#[error("failure to read clipboard")]
OpenClipboard,
#[error("failure to read file metadata or content, path: {path}, err: {err}")]
FileError { path: String, err: std::io::Error },
#[error("invalid request: {description}")]
InvalidRequest { description: String },
#[error("common request: {description}")]
CommonError { description: String },
#[error("unknown cliprdr error")]
Unknown(u32),
}
#[derive(Debug, Serialize, Deserialize, Clone)]
#[serde(tag = "t", content = "c")]
pub enum ClipboardFile {
NotifyCallback {
r#type: String,
title: String,
text: String,
},
MonitorReady,View on GitHub (pinned to 91c9fccbb0)
Solutions
- Read the embedded err: NotFound/EACCES point to deleted or permission-denied files; recover by skipping that entry in the file list
- Verify the path exists and is readable by the RustDesk process user before retrying
- For remotely-advertised paths, validate reachability before attempting to stream contents
- Skip unreadable entries and continue the transfer instead of aborting the whole clipboard operation
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at libs/clipboard/src/lib.rs:87 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rustdesk/rustdesk@91c9fccbb0 (2026-09-10).
Data as JSON: /api/errors/4ec0a4eca8129c77.
Report an issue: GitHub.