| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…ted() so it no longer fatals when state_id was left activated by a stale vnode (HOST_DEFINE_END activates state_id
|
Sorry, something went wrong.
There was a problem hiding this comment.
Note
Copilot was unable to run its full agentic suite in this review.
This PR fixes a crash when a stale virtual node reconnects and rrdhost_set_receiver() attempts to activate an already-active state_id.
Changes:
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Sorry, something went wrong.
There was a problem hiding this comment.
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Sorry, something went wrong.
There was a problem hiding this comment.
No issues found with local stream during runtime. LGTM!
Sorry, something went wrong.
Switch rrdhost_set_receiver() to object_state_activate_if_not_activated() so it no longer fatals when state_id was left activated by a stale vnode (HOST_DEFINE_END activates state_id (cherry picked from commit 4c11048)
| Back | FazBrowse Home | New Git URL |
Summary
rrdhost_set_receiver() called object_state_activate() on host->state_id, which fatals if the state is already activated.
A vnode created via HOST_DEFINE_END activates state_id; when the vnode goes stale, pluginsd_host clears RRDHOST_OPTION_VIRTUAL_HOST but leaves state_id activated.
A subsequent streaming connection for the same machine_guid bypasses the rrdhost_is_virtual() reject, reaches set_receiver, and crashes on the second activate.
Summary by cubic
Prevent crash when a stale vnode reconnects for the same machine_guid by making receiver activation idempotent. rrdhost_set_receiver() now calls object_state_activate_if_not_activated(&host->state_id) to avoid fatal errors when state_id is already active.
Written for commit 3a20af2. Summary will update on new commits.