Skip to content

fix(log_bridge): start with the default config#449

Merged
mfaferek93 merged 1 commit into
mainfrom
fix/444-log-bridge-default-config
Jun 20, 2026
Merged

fix(log_bridge): start with the default config#449
mfaferek93 merged 1 commit into
mainfrom
fix/444-log-bridge-default-config

Conversation

@mfaferek93

Copy link
Copy Markdown
Collaborator

The shipped config/log_bridge.yaml sets exclude_nodes: [] and include_only_nodes: []. 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_nodes': No parameter value set
[ros2run]: Aborted

The node code is correct (declare_parameter<std::vector<std::string>>(..., {})); only the shipped YAML breaks it. This comments out the two lines with non-empty examples, so the node's typed defaults apply.

Before: ros2 run ros2_medkit_log_bridge log_bridge_node --ros-args --params-file config/log_bridge.yaml -> Aborted.
After: LogBridge started (topic=/rosout, severity_floor=30, prefix=LOG).

Closes #444

exclude_nodes/include_only_nodes: [] in the default YAML are untyped and
abort the node at startup (InvalidParameterValueException: No parameter
value set). Comment them out with examples so the node's typed defaults
apply.

Closes #444
Copilot AI review requested due to automatic review settings June 20, 2026 16:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes ros2_medkit_log_bridge startup failure when using the shipped default params file by avoiding untyped empty YAML lists for exclude_nodes / include_only_nodes, allowing the node’s typed declared defaults to apply.

Changes:

  • Remove exclude_nodes: [] and include_only_nodes: [] from config/log_bridge.yaml.
  • Add commented guidance/examples for enabling those filters with non-empty lists.

Comment thread src/ros2_medkit_log_bridge/config/log_bridge.yaml
@mfaferek93 mfaferek93 self-assigned this Jun 20, 2026
bburda
bburda previously approved these changes Jun 20, 2026

@bburda bburda left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified the fix. The two list params are the only empty-list entries in the YAML, the node declares both with typed empty-vector defaults, so commenting them out keeps the same behavior and stops the startup abort. No other empty lists remain.

@bburda bburda dismissed their stale review June 20, 2026 20:14

Dismissing to complete a deeper review before sign-off.

@bburda bburda left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified the fix across the config, the node parameter declarations, the launch path and other params files in the repo. The two commented-out list params are the only empty-list entries, the node declares both with typed empty-vector defaults so behavior is unchanged, no launch file or other params file re-introduces the empty list, and the installed config is the edited one. Startup abort is resolved.

@mfaferek93 mfaferek93 merged commit 281fb89 into main Jun 20, 2026
18 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

log_bridge fails to start with its own default config

3 participants