tinyhumansai/openhuman · error
read_chunk_row: {e}
Error message
read_chunk_row: {e} What it means
Error mapping around read_chunk_row, a helper that renders one chunk for inspection by a single MemoryChunks::chunk_detail bus call (row, vault body, content path, lifecycle state, embedding presence). The error fires when that driver call fails — unknown chunk_id, driver unavailable, or transport error — and is prefixed for grep-ability since it is used to render lists of rows.
Source
Thrown at src/openhuman/memory/read_rpc/chunks.rs:417
format!("memory_tree::read: recall n={n}"),
))
}
// ── small helpers ───────────────────────────────────────────────────────
/// One chunk rendered for inspection.
///
/// Reads through the bound driver's [`MemoryChunks::chunk_detail`], which
/// returns the row, its vault body, content path, lifecycle state and embedding
/// presence in **one** call. It used to make four separate engine calls in
/// process; four bus round trips per rendered row would have been the direct
/// translation, and this is used to render lists.
pub async fn read_chunk_row(chunk_id: &str) -> Result<Option<ChunkRow>> {
use crate::openhuman::memory::api::provider::MemoryProvider;
let guard = crate::openhuman::memory::ops::guard::active_memory_guard()
.await
.map_err(|e| anyhow::anyhow!("read_chunk_row: {e}"))?;
let Some(detail) = guard
.as_chunks()
.ok_or_else(|| anyhow::anyhow!("read_chunk_row: driver has no chunk family"))?
.chunk_detail(chunk_id)
.await?
else {
return Ok(None);
};
let chunk = detail.chunk;
// A failed vault read falls back to the row's own content, as before —
// `body: None` means "could not read", not "empty".
let body = detail.body.unwrap_or_else(|| chunk.content.clone());
let preview: String = body.chars().take(PREVIEW_MAX_CHARS).collect();
Ok(Some(ChunkRow {
id: chunk.id,
source_kind: chunk.metadata.source_kind.as_str().to_string(),
source_id: chunk.metadata.source_id,View on GitHub (pinned to 7491200858)
Solutions
- Retry — chunk reads can race module restarts
- Check the chained error for the underlying driver fault
- Verify the chunk id still exists (it may have been dropped)
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src/openhuman/memory/read_rpc/chunks.rs:417 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/9f85e11475a6f395.
Report an issue: GitHub.