windmill-labs/windmill · error
Problem by joining handle
Error message
Problem by joining handle
What it means
Raised by handle_python_reqs when joining the tokio task that finalizes the venv (writing the .valid.windmill marker after a successful install) fails — the future panicked or was cancelled. Without joining, the code cannot know whether the cache-validity marker was written, so the install is treated as failed rather than silently publishing an unverifiable cache entry.
Source
Thrown at backend/windmill-worker/src/python_executor.rs:3185
let valid_path = venv_p.clone() + "/.valid.windmill";
// This is atomic operation, meaning, that it either completes and wheel is valid,
// or it does not and wheel is invalid and will be reinstalled next run
if let Err(e) = File::create(&valid_path).await{
tracing::error!(
workspace_id = %w_id,
job_id = %job_id,
"Failed to create {}!\n{e}\n
This file needed for python jobs to function", valid_path)
};
Ok(())
}));
}
let (mut failed, mut oom_killed) = (false, false);
for (handle, (_, venv_p)) in handles.into_iter().zip(req_with_penv.into_iter()) {
if let Err(e) = handle
.await
.unwrap_or(Err(Error::from(anyhow!("Problem by joining handle"))))
{
failed = true;
// OOM code is 9 or 137
if matches!(e, Error::ExitStatus(_, 9 | 137)) {
oom_killed = true;
}
append_logs(
&job_id,
w_id,
format!("\nEnv installation failed: {:?}", e),
conn,
)
.await;
tracing::warn!(
workspace_id = %w_id,
"Env installation failed: {:?}",View on GitHub (pinned to e474e8803c)
Solutions
- Retry the dependency installation — the venv will be rebuilt without a valid marker
- Inspect worker logs for a panic inside the install-finalization task
- Check worker resource limits (memory, task cancellation) if it recurs
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at backend/windmill-worker/src/python_executor.rs:3185 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03).
Data as JSON: /api/errors/8ff84f01abcba148.
Report an issue: GitHub.