tinyhumansai/openhuman · error

runtime python server unavailable after previous startup fai

Error message

runtime python server unavailable after previous startup failure: {message}

What it means

ensure_started found the cache in the Failed state and the backoff window has not elapsed — this call is refused without attempting a start. The {message} is the previous failure's text, carried forward.

Source

Thrown at src/openhuman/runtime/python_server/server.rs:327

            let existing = existing.clone();
            if let Err(error) = existing.start().await {
                let message = format!("{error:#}");
                log::warn!(
                    "[runtime_python_server] cached server failed to start; backing off: {message}"
                );
                *guard = ServerCache::Failed {
                    message: message.clone(),
                    retry_after: Instant::now() + START_FAILURE_BACKOFF,
                };
                bail!("runtime python server unavailable: {message}");
            }
            return Ok(existing);
        }
        ServerCache::Failed {
            message,
            retry_after,
        } if Instant::now() < *retry_after => {
            bail!("runtime python server unavailable after previous startup failure: {message}");
        }
        ServerCache::Failed { .. } | ServerCache::Empty => {}
    }

    match start_new_server(config).await {
        Ok(server) => {
            *guard = ServerCache::Ready(server.clone());
            Ok(server)
        }
        Err(error) => {
            let message = format!("{error:#}");
            log::warn!(
                "[runtime_python_server] startup failed; caching fallback state for {:?}: {message}",
                START_FAILURE_BACKOFF
            );
            *guard = ServerCache::Failed {
                message: message.clone(),
                retry_after: Instant::now() + START_FAILURE_BACKOFF,

View on GitHub (pinned to 7491200858)

Solutions

  1. Wait for the START_FAILURE_BACKOFF window to pass, after which a real start is retried
  2. Address the root cause in {message} so the next attempt succeeds
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at src/openhuman/runtime/python_server/server.rs:327 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/a6a84379b6b9f2e1. Report an issue: GitHub.