Skip to content

[Bug]: QMD embed interval continuously times out on CPU-only hardware after 2026.2.17 multi-agent boot sync #20346

@jonathanadams96

Description

@jonathanadams96

Summary

After updating to OpenClaw 2026.2.17, qmd embed runs on a 5-minute interval for all configured agents (not just the default agent, per #17663 fix). On CPU-only hardware (DigitalOcean VPS, AMD CPU, no GPU), the embed operation cannot complete within the 120s timeout. This results in continuous timeout failures every 5 minutes per agent.

Before 2026.2.17: Zero qmd embed failures. QMD search (BM25) and update worked fine.
After 2026.2.17: 208+ embed timeout failures in a single day. Every 5 minutes, both agents fail.

Steps to Reproduce

  1. Configure memory.backend: "qmd" with 2+ agents on a CPU-only VPS
  2. Update to 2026.2.17
  3. Observe logs: [memory] qmd embed failed (interval): Error: qmd embed timed out after 120000ms every 5 minutes per agent

Impact

  • Log spam: 200+ timeout errors per day
  • Potential event loop blocking: 120s timeout operations may degrade gateway responsiveness, causing downstream failures (cron delivery timeouts, tool call delays)
  • Wasted CPU cycles: Each embed attempt loads a 328MB GGUF model and attempts to process the full corpus before timing out

Environment

  • OpenClaw 2026.2.17
  • QMD 1.0.7
  • Ubuntu 24.04, AMD CPU, 8GB RAM, no GPU
  • 2 agents configured
  • searchMode defaults to search (BM25) — embed output is not consumed

Expected Behavior

One or more of:

  1. Skip embed on CPU-only hardware if the operation consistently times out (adaptive backoff)
  2. Provide embedInterval: 0 or embed: false config option to disable embed while keeping qmd update (BM25 indexing) active
  3. Do not run embed on interval if searchMode is search (BM25 does not use vector embeddings)
  4. Exponential backoff on embed failures instead of retrying at the same fixed interval

Notes

  • qmd update (BM25 indexing) works perfectly — 300ms, no issues
  • qmd search (BM25) works perfectly — sub-second results
  • qmd vsearch (vector) works but takes ~16s per query on CPU — functional but slow
  • qmd embed (batch vector indexing) cannot complete within 120s on CPU
  • The embed interval was not running before 2026.2.17 for non-default agents, so this is a regression in observable behavior

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions