Files
hermes-agent/hermes_cli
kshitijk4poor fe06558334 fix(plugins): never re-arm a platform whose hung load is still running
Gate finding (PL1 r1 2c/efficiency, High): a plugin whose import or
register() hangs overruns its load deadline and leaves an abandoned daemon
loader. The reconnect watcher re-armed it on every backoff tick, adding one
more abandoned thread each time, and once _MAX_ABANDONED_LOADERS (8) were
live every plugin load in the process was refused (about 25 min at the
30-300s backoff).

rearm_failed_platform now skips the platform while its
plugin-load:<manifest_key> thread is still alive in _ABANDONED_LOADERS
(checked under _ABANDONED_LOADERS_LOCK). This was chosen over "never re-arm
after a timeout": a deadline overrun caused by transient startup I/O, where
the worker eventually finishes, still heals on a later tick, and at most one
abandoned thread per plugin can ever exist.
2026-10-05 20:07:25 +05:30
..
…
…
…
…
…
…
…
…
…
…
…
…
…
…