Skip to content

Fault bridges: default-config crash (action_status_bridge) + log_bridge self-noise #458

@mfaferek93

Description

@mfaferek93

Two fault-bridge robustness issues found together.

1. action_status_bridge fails to start with its own default config

Same empty-untyped-list crash as #444 (log_bridge), but in action_status_bridge - the #444 fix did not cover this package.

config/action_status_bridge.yaml ships exclude_actions: [] and include_only_actions: []. Empty YAML lists are untyped, so launching the node with this file aborts at startup:

terminate called after throwing an instance of 'rclcpp::exceptions::InvalidParameterValueException'
  what():  parameter_value_from failed for parameter 'exclude_actions': No parameter value set
[ros2run]: Aborted

The node code is correct (declare_parameter<std::vector<std::string>>("exclude_actions", {}) / include_only_actions in action_status_bridge_node.cpp); only the shipped YAML breaks it. Reproduced live: with the shipped config the node aborts (exit 250); commenting the two lines out, it starts clean (ActionStatusBridge started ... Watching action ...).

Fix: comment out the two empty-list lines in action_status_bridge.yaml with non-empty examples - the same fix applied to log_bridge in #444 / PR #449.

2. log_bridge promotes the medkit stack's own logs (self-noise)

log_bridge only self-excludes its own node and /log_bridge (log_bridge_node.cpp:98-99: source_id == own_node_name_ || source_id == "/log_bridge"). It does not exclude the rest of the medkit stack, so when fault_manager (or the gateway) logs to /rosout, log_bridge promotes those lines into faults - medkit reporting on medkit, a noise/feedback loop.

Lower priority than the crash (robustness/noise, not a hard failure).

Fix: by default also skip the medkit stack's own nodes (e.g. fault_manager, the gateway) from promotion, or document a recommended exclude_nodes for them.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

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