rustdesk/rustdesk · error
failure request
Error message
failure request
What it means
In read_node (the FUSE file-contents read loop), the peer's FileContentsResponse arrived with msg_flags & 1 == 0 — the failure bit set, meaning the remote cliprdr side reported the request as failed — on more than READ_RETRY consecutive attempts. The loop re-sends the request after each flagged failure, and this io::Error(Other, "failure request") is raised only when the retry budget is exhausted; the FUSE read that triggered it then fails with EIO.
Source
Thrown at libs/clipboard/src/platform/unix/fuse/cs.rs:584
log::error!("failed to receive file list from channel: {:?}", e);
std::io::Error::new(std::io::ErrorKind::TimedOut, e)
})?;
match reply {
ClipboardFile::FileContentsResponse {
msg_flags,
stream_id,
requested_data,
} => {
if stream_id != request_stream_id {
log::debug!("stream id mismatch, ignore");
continue;
}
if msg_flags & 1 == 0 {
retry_times += 1;
if retry_times > READ_RETRY {
return Err(std::io::Error::new(
std::io::ErrorKind::Other,
"failure request",
));
}
send_data(node.conn_id, request.clone()).map_err(|e| {
log::error!("failed to send file list to channel: {:?}", e);
std::io::Error::new(std::io::ErrorKind::Other, e)
})?;
continue;
}
return Ok(requested_data);
}
_ => {
return Err(std::io::Error::new(
std::io::ErrorKind::Other,
"invalid reply",
))View on GitHub (pinned to 91c9fccbb0)
Solutions
- Check whether the requested file still exists and is readable on the remote side (its cliprdr keeps flagging failure)
- Log the remote's failure detail if the response carries one, before the retry loop exhausts
- Invalidate the FUSE node after this error so subsequent reads re-negotiate rather than hitting the same dead stream
- If the remote consistently refuses, drop and re-establish the clipboard file session
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at libs/clipboard/src/platform/unix/fuse/cs.rs:584 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/66a8c7e55c52396a.
Report an issue: GitHub.