ros2 / ros2/launch

Duplicate Launch Arguments fail quietly

Open
#677 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
155
Forks
182
Avg merge
2d 14h
Merged PRs (30d)
6

Description

Bug report

Including 2 python launch descriptions with the same launch arguments declared with different descriptions causes some nodes not to launch and does not specify the cause of failure.

I think the desired functionality would be warning the user and appending the two descriptions together. The latter behaviour would allow for maximum interoperability so that all ROS developers don't need to have the exact same descriptions for common arguments (such as use_sim_time ).

Required Info:

  • Operating System:
    • Ubuntu 22.04
  • Installation type:
    • Binaries
  • Version or commit hash:
    • Humble
  • DDS implementation:
    • Fast DDS -- Humble default
  • Client library (if applicable):
    • launch
Steps to reproduce issue

Create 2 python launch descriptions with the same launch argument declared with different descriptions. Add some other actions to each description and observe which actions get executed.

Expected behavior

I think the desired functionality would be warning the user and appending the two descriptions together. The latter behaviour would allow for maximum interoperability so that all ROS developers don't need to have the exact same descriptions for common arguments (such as use_sim_time ).

Actual behavior

Some actions do not execute or do not execute correctly, fail quietly.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with two Python launch descriptions that declare the same argument with different descriptions, using the launch client library. Then trace how duplicate arguments are handled and verify that the result reports the conflict clearly, preserves the intended actions, and avoids silently skipping nodes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.