tinyhumansai/openhuman · error

runtime python server `{method}` failed: {message}

Error message

runtime python server `{method}` failed: {message}

What it means

The runtime python server answered a well-formed JSON-RPC response with ok=false — the failure happened inside the python backend (model error, bad input for that method) and its message is surfaced verbatim. Transport and protocol were fine.

Source

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

                        "[runtime_python_server] unparseable response skipped: {error}; line_len={}",
                        line.len()
                    );
                    continue;
                }
            };
            if response.id.as_deref() != Some(id.as_str()) {
                log::debug!(
                    "[runtime_python_server] skipped response for different id={:?}",
                    response.id
                );
                continue;
            }
            if !response.ok {
                let message = response
                    .error
                    .map(|error| format!("{}: {}", error.code, error.message))
                    .unwrap_or_else(|| "unknown python server error".to_string());
                bail!("runtime python server `{method}` failed: {message}");
            }
            let result = response.result.unwrap_or(Value::Null);
            return serde_json::from_value(result)
                .with_context(|| format!("decoding runtime python server `{method}` result"));
        }
    }

    async fn reset(&self) {
        let mut guard = self.inner.lock().await;
        if let Some(mut inner) = guard.take() {
            if let Err(error) = inner._child.start_kill() {
                log::debug!("[runtime_python_server] failed to signal child shutdown: {error}");
            }
        }
    }

    async fn mark_used(&self) {
        *self.last_used.lock().await = Instant::now();

View on GitHub (pinned to 7491200858)

Solutions

  1. Read the server-supplied message to identify the backend failure
  2. Fix or shrink the input that triggered it
  3. Retry if the message indicates a transient model/resource error
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at src/openhuman/runtime/python_server/server.rs:213 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/a9adaa90993cd036. Report an issue: GitHub.