Skip to content

Module stubs Shutdown and reports the config snapshot as an error: host shutdown hook is unserved and Sentry gets a report on every settings change #133

Description

@YellowSnnowmann

Summary

Two host-visible defects in tinymemory-module seen in OpenHuman's logs on 2026-09-03 (pinned artifact v1.13.7). Neither causes the memory-hang incident tracked in tinyhumansai/openhuman#6005, but both surface as report_error events in module mode.

Problem

  1. Shutdown is a deliberate stub (crates/tinymemory-module/src/lib.rs, "Shutdown stays a stub: no bus interface serves it and no local answer"). The host's memory.shutdown_host therefore fails in module mode:

    memory.shutdown_host failed: shutdown host unserved in module mode: a memory shutdown hook was dropped,
    so in-flight queue job locks are not released on a clean exit and the next launch waits out the lease instead
    

    Consequence per the message itself: queue job locks are not released on a clean exit, and the next launch's ingestion waits out the lease.

  2. config_loader answers from the load-time snapshot and reports it as an error whenever a setting changes after load:

    memory.config_loader failed: config loader answered from the module's load-time snapshot: this module
    re-reads no config file, so a settings change made after it loaded (Composio mode, sync cadence, a memory
    source switched off) does not reach the engine in this process until the host reloads the module
    

    That is a known design limit, not a failure; as report_error it reaches Sentry on every settings change.

Proposed fix

  • Serve Shutdown on the bus (release queue job locks, stop the periodic schedulers) and have the host call it during shutdown.
  • Either add a ReloadConfig member the host can call after a settings change, or downgrade the snapshot answer to a warning and document the restart requirement.

Both need a module release and a registry re-pin in the host before they take effect.

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

priority: p2Soon. Real but survivable — a rough edge, a gap, a thing that will bite later.

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions