{"record":{"id":"74736e2503c52e80","repo":"tinyhumansai/openhuman","slug":"could-not-build-http-client-for-ollama-probe-e","errorCode":null,"errorMessage":"could not build HTTP client for Ollama probe: {e}","messagePattern":"could not build HTTP client for Ollama probe: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/platform/doctor/core.rs","lineNumber":895,"sourceCode":"            cat,\n            format!(\"embedding provider: {provider} (model: {model}) — no local daemon required\"),\n        ));\n        return;\n    }\n\n    // Ollama path: probe reachability then model availability.\n    let base_url = crate::openhuman::inference::local::ollama_base_url();\n    let tags_url = format!(\"{}/api/tags\", base_url.trim_end_matches('/'));\n\n    log::debug!(\"[doctor] probing ollama at {tags_url} for embedding model {model}\");\n\n    let client = match reqwest::blocking::Client::builder()\n        .timeout(std::time::Duration::from_secs(3))\n        .build()\n    {\n        Ok(c) => c,\n        Err(e) => {\n            items.push(DiagnosticItem::warn(\n                cat,\n                format!(\"could not build HTTP client for Ollama probe: {e}\"),\n            ));\n            return;\n        }\n    };\n\n    let resp = match client.get(&tags_url).send() {\n        Ok(r) => r,\n        Err(e) => {\n            items.push(DiagnosticItem::error(\n                cat,\n                format!(\n                    \"Ollama daemon unreachable at {base_url} — embedding model `{model}` cannot be used. \\\n                     Start Ollama, then run: ollama pull {model}  (error: {e})\"\n                ),\n            ));\n            return;","sourceCodeStart":877,"sourceCodeEnd":913,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/platform/doctor/core.rs#L877-L913","documentation":"Doctor embedding-model probe: reqwest::blocking::Client::builder() with a 3s timeout failed to build, so the Ollama reachability check at {base_url}/api/tags cannot even be attempted. This is a client-construction failure (typically TLS backend init or system resource limits), not an Ollama-side problem — the probe aborts without drawing conclusions about the daemon.","triggerScenarios":"Thrown at src/openhuman/platform/doctor/core.rs:895 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the doctor — transient resource exhaustion can make client init fail once","Check system TLS setup (root store, native-tls backend) if the failure is persistent","Probe Ollama manually with curl {base_url}/api/tags to confirm the daemon independently"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"749120085864ce16e0f273c7b86fac7740b39c5b","analyzedAt":"2026-08-17T21:21:45.363Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}