paperclipai/paperclip · error · io::Error
could not allocate a runner diagnostic temporary file
Error message
could not allocate a runner diagnostic temporary file
What it means
Guard in the diagnostics temp-file writer in paperclip-runnerd: after exhausting candidate temp file names (each open returning AlreadyExists), no unique temporary file could be created in the diagnostics directory. This is the allocation loop's give-up path — the directory is likely full of stale temp files, full on disk, or has restrictive permissions.
Source
Thrown at packages/paperclip-runner/runner/crates/runner-core/src/bin/paperclip-runnerd.rs:92
#[cfg(unix)]
options.mode(0o600);
let mut file = match options.open(&temporary) {
Ok(file) => file,
Err(error) if error.kind() == io::ErrorKind::AlreadyExists => continue,
Err(error) => return Err(error),
};
let write_result = (|| {
file.write_all(contents.as_bytes())?;
file.sync_all()?;
drop(file);
fs::rename(&temporary, &destination)
})();
if write_result.is_err() {
let _ = fs::remove_file(&temporary);
}
return write_result;
}
Err(io::Error::new(
io::ErrorKind::AlreadyExists,
"could not allocate a runner diagnostic temporary file",
))
}
fn install_diagnostic_panic_hook(directory: Option<PathBuf>) {
let Some(directory) = directory else {
return;
};
std::panic::set_hook(Box::new(move |panic| {
let _ = persist_runner_diagnostic(&directory, &format!("paperclip-runnerd panic: {panic}"));
}));
}
fn install_crypto_provider() {
// The production dependency graph enables both rustls crypto backends.
// Select the backend declared by this workspace before any TLS builder
// asks rustls for the process-level default. An embedding process may haveView on GitHub (pinned to 01ad858492)
Solutions
- Clear stale temporary files left in the diagnostics directory
- Check disk space and inode availability on the diagnostics filesystem
- Verify the runnerd process owns or can write to the diagnostics directory
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at packages/paperclip-runner/runner/crates/runner-core/src/bin/paperclip-runnerd.rs:92 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-09-10).
Data as JSON: /api/errors/36c778eb129ced28.
Report an issue: GitHub.