astrid-runtime/astrid · error
stale FUSE service was cleaned up after control failure
Error message
stale FUSE service was cleaned up after control failure: {error:#} What it means
Stale-service handling in live_control_status: the control-socket request to the detached FUSE service failed, so the record was cleaned up and the error reported notes the stale service was reaped — the original control error is embedded as context.
Solutions
- Retry the operation — the mount has been cleaned up, so a fresh mount will get a new service
- Inspect the embedded control error for the root cause (dead service, socket removed)
- Check service logs/stderr for why the detached FUSE process stopped responding
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at crates/astrid-storage-provider-fuse/src/main.rs:570 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of astrid-runtime/astrid@affd8760f4 (2026-09-09).
Data as JSON: /api/errors/7365f74d4db9ba1b.
Report an issue: GitHub.
Appendix: source
Thrown at crates/astrid-storage-provider-fuse/src/main.rs:570
},
}
}
async fn live_control_status(
client: &mut AdminClient,
acting_principal: &astrid_core::PrincipalId,
record: ®istry::MountRecord,
) -> Result<ControlResponse> {
match call_control(
&record.control_path,
&ControlRequest::Status {
requested_by: acting_principal.clone(),
},
) {
Ok(response) => Ok(response),
Err(error) => {
cleanup_stale_record(client, acting_principal, record).await?;
bail!("stale FUSE service was cleaned up after control failure: {error:#}")
},
}
}
fn failure_response(code: &str, message: &str) -> ControlResponse {
ControlResponse::Failure {
code: code.to_owned(),
message: bounded_failure_message(message),
}
}
async fn launch_service(launch: &ServiceLaunch, control_path: &Path) -> Result<ControlReady> {
use std::os::unix::process::CommandExt as _;
let executable = std::env::current_exe()?;
let mut command = tokio::process::Command::new(executable);
command
.arg(PUBLIC_SERVICE_ARGUMENT)View on GitHub (pinned to affd8760f4)