You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Duplicate of #31664 — same mechanism: a try/finally in hermes_cli/oneshot.py that calls agent.shutdown_memory_provider(...), plus Honcho-side thread-join hardening in session.shutdown(), to stop the oneshot SIGABRT (exit 134) when the Honcho memory provider is active. Related: #49498 (atexit-hook + httpx-close variant) and #50217 (skip-prefetch-enqueue variant) attack the same SIGABRT cluster via different mechanisms. Flagging for a maintainer to pick the canonical fix.
Duplicate of #31664 — same mechanism: a try/finally in hermes_cli/oneshot.py that calls agent.shutdown_memory_provider(...), plus Honcho-side thread-join hardening in session.shutdown(), to stop the oneshot SIGABRT (exit 134) when the Honcho memory provider is active. Related: #49498 (atexit-hook + httpx-close variant) and #50217 (skip-prefetch-enqueue variant) attack the same SIGABRT cluster via different mechanisms. Flagging for a maintainer to pick the canonical fix.
Ok. I’ll wait for y'alls call on which fix you guys prefer
Thanks for targeting the oneshot memory-worker lifecycle gap; current main still returns from the oneshot agent path without memory-provider teardown.
Problems
The PR changes an older agent.chat() call, but current main calls agent.run_conversation() at hermes_cli/oneshot.py:425-426 (introduced by 093f567f0d). The finalizer must be transplanted onto that current tuple-return path.
The new prefetch-thread list can still race shutdown: session.shutdown() snapshots it, but no closed-state guard prevents a concurrent prefetch_context() from appending a new daemon afterward. Current provider paths call it at plugins/memory/honcho/__init__.py:677 and :819.
The PR adds no regression test. The existing oneshot integration coverage is in tests/hermes_cli/test_tui_resume_flow.py:823-881.
Suggested changes
Finalize in a try/finally around current run_conversation(), forwarding _session_messages using the guarded pattern in cli.py:1128-1147.
Synchronize shutdown with prefetch registration using a terminal closed state, and add tests for transcript forwarding, exceptional exit, and no post-shutdown prefetch creation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
area/memoryMemory subsystem: store, providers, sync, background reviewscomp/cliCLI entry point, hermes_cli/, setup wizardcomp/pluginsPlugin system and bundled pluginsduplicateThis issue or pull request already existsP3Low — cosmetic, nice to havesweeper:blast-moderateSweeper blast radius: moderate — a subsystem or single platformsweeper:risk-compatibilitySweeper risk: may break existing users, config, migrations, defaults, or upgradessweeper:risk-session-stateSweeper risk: may lose/corrupt/mis-associate session or context statetool/memoryMemory tool and memory providerstype/bugSomething isn't working
4 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This fixes a process shutdown issue affecting Hermes oneshot mode when the Honcho memory provider is active.
The observed behavior was:
The issue occurred during process teardown rather than request execution.
Reproduction
Using current upstream: