tinyhumansai/openhuman · error
memory_vector_search: {e}
Error message
memory_vector_search: {e} What it means
Generic wrapper for a failure while acquiring the active memory guard — the process-global handle over the bound memory driver (loaded module or fallback). At this point in `memory_vector_search`, config loaded fine but establishing the connection to the memory subsystem failed; `{e}` identifies whether the module load, binding, or driver initialization went wrong.
Source
Thrown at src/openhuman/memory/tools/search/vector_search.rs:133
parsed.time_window_days,
min_score,
limit,
parsed.diverse,
);
let config = config_rpc::load_config_with_timeout()
.await
.map_err(|e| anyhow::anyhow!("memory_vector_search: load config failed: {e}"))?;
// Chunks are read through the bound driver, not by opening the store
// in this process. Before the module port this called
// `list_chunks(&config, …)` directly, which resolved the workspace path
// and opened the same SQLite database the loaded module already had
// open — two engine instances over one file, with the module not
// authoritative. See `docs/specs/2026-08-13-memory-module-port.md` §2.1.
let guard = active_memory_guard()
.await
.map_err(|e| anyhow::anyhow!("memory_vector_search: {e}"))?;
let chunk_reader = guard.as_chunks().ok_or_else(|| {
anyhow::anyhow!("memory_vector_search: memory driver does not support the chunk family")
})?;
let embedder = provider_from_config(&config)
.map_err(|e| anyhow::anyhow!("memory_vector_search: embedding provider failed: {e}"))?;
let query_vec = embedder
.embed_one(&parsed.query)
.await
.map_err(|e| anyhow::anyhow!("memory_vector_search: embedding query failed: {e}"))?;
let source_kind = match parsed.source_kind.as_deref() {
Some(s) => Some(
SourceKind::parse(s).map_err(|e| anyhow::anyhow!("memory_vector_search: {e}"))?,
),
None => None,
};View on GitHub (pinned to 7491200858)
Solutions
- Inspect `{e}` for the module-load or binding failure detail
- Check memory module health/status via the memory RPC surface
- Retry after restarting the core — module load state is process-scoped
- Fall back to a non-vector memory search (hybrid or recall) if available
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src/openhuman/memory/tools/search/vector_search.rs:133 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/84c8b70463257754.
Report an issue: GitHub.