astrid-runtime/astrid · error
detached FUSE service exited before readiness
Error message
detached FUSE service exited before readiness
What it means
Handshake guard in service startup: the detached FUSE service exited before sending its readiness line on stdout (within SERVICE_STARTUP_TIMEOUT), so the launch never completed; stderr is captured as context when available.
Solutions
- Inspect the stderr snippet in the error for the early-exit reason
- Verify the launch payload schema and provider binary are compatible
- Retry the mount once the environment (fusermount, mountpoint) is fixed
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at crates/astrid-storage-provider-fuse/src/main.rs:701 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/f1cdae3ed2809f41.
Report an issue: GitHub.
Appendix: source
Thrown at crates/astrid-storage-provider-fuse/src/main.rs:701
.context("FUSE service stdin is unavailable")?;
let bytes = serde_json::to_vec(launch)?;
stdin.write_all(&bytes).await?;
stdin.write_all(b"\n").await?;
drop(stdin);
let stdout = child
.stdout
.take()
.context("FUSE service stdout is unavailable")?;
let mut line = String::new();
let reader = tokio::io::BufReader::new(stdout);
let read = tokio::time::timeout(SERVICE_STARTUP_TIMEOUT, async {
let mut limited = reader.take(64 * 1024 + 1);
limited.read_line(&mut line).await
})
.await
.context("timed out waiting for the FUSE service")??;
if read == 0 {
bail!("detached FUSE service exited before readiness");
}
if line.len() > 64 * 1024 {
bail!("detached FUSE service exceeded the startup response size");
}
match serde_json::from_str(&line)? {
ServiceStartup::Ready {
mount_id,
pid,
access,
} => {
if !control_path.exists() {
bail!("detached FUSE service did not retain its control endpoint");
}
if pid == 0 {
bail!("detached FUSE service returned an invalid process identity");
}
Ok(ControlReady {
mount_id,View on GitHub (pinned to affd8760f4)