astrid-runtime/astrid · error
{error}
Error message
{error} What it means
Validation guard in run_launch (error string is the underlying message passed through): the FUSE service launch failed validate_launch — schema mismatch, invalid lease/token, or bad mount parameters — and the specific reason is carried verbatim in the error.
Solutions
- Fix the launch parameters named in the embedded error and retry the mount
- Verify the parent process emits the current STORAGE_FILESYSTEM_SERVICE_LAUNCH_SCHEMA_V1 launch payload
- Check that the lease token and mount id are fresh and match the registry record
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/astrid-storage-provider-fuse/src/service.rs:59 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/1ab6feee9d744ae7.
Report an issue: GitHub.
Appendix: source
Thrown at crates/astrid-storage-provider-fuse/src/service.rs:59
serde_json::from_slice(&bytes).context("decode target-free FUSE service launch")?;
run_launch(launch).await
}
async fn run_launch(launch: StorageProviderServiceLaunchV1) -> Result<()> {
if launch.schema != STORAGE_FILESYSTEM_SERVICE_LAUNCH_SCHEMA_V1 {
bail!("unsupported FUSE service launch schema {}", launch.schema);
}
validate_launch(&launch)?;
let challenge = storage_provider_service_ready_challenge(
&launch.parent.token,
STORAGE_FILESYSTEM_SERVICE_READY_SCHEMA_V1,
crate::PROVIDER_NAME,
launch.lease.mount_id.as_uuid(),
&launch.control_path,
&launch.lease.resource_path,
&launch.lease.callback_path,
)
.map_err(|error| anyhow::anyhow!(error))?;
if !parent_is_alive(&launch.parent) {
bail!("FUSE service parent process is not alive");
}
probe_callback(&launch).await?;
let listener = bind_control_listener(&launch.control_path)?;
let mut session = match filesystem::start_session(launch.lease.clone(), &launch.mountpoint) {
Ok(session) => Some(session),
Err(error) => {
let _ = std::fs::remove_file(&launch.control_path);
return Err(error);
},
};
let ready = StorageProviderServiceReadyV1 {
schema: STORAGE_FILESYSTEM_SERVICE_READY_SCHEMA_V1,
provider: crate::PROVIDER_NAME.to_owned(),
mount_id: launch.lease.mount_id.as_uuid(),
control_path: launch.control_path.clone(),
challenge,View on GitHub (pinned to affd8760f4)