ros2 / ros2/launch

ThisLaunchFileDir throws error in debug mode

Open
#774 0 comments 1 reaction 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

This isn't blocking but I noticed so I thought I'd report. I noticed a traceback when running the gazebo launch file in debug mode. The launch file works fine despite the traceback (which is maybe another issue?)

Required Info:

  • Operating System:
    • Ubuntu 22
  • Installation type:
    • binaries
Steps to reproduce issue

ros2 launch gazebo_ros gazebo.launch.py -d

[DEBUG] [launch.launch_context]: emitting event synchronously: 'launch.events.IncludeLaunchDescription'
[INFO] [launch]: All log files can be found below /home/angsa/.ros/log/2024-04-02-22-30-48-565157-tony-xmg-22-2670761
[INFO] [launch]: Default logging verbosity is set to DEBUG
[DEBUG] [launch]: processing event: '<launch.events.include_launch_description.IncludeLaunchDescription object at 0x78bbf394b220>'
[DEBUG] [launch]: processing event: '<launch.events.include_launch_description.IncludeLaunchDescription object at 0x78bbf394b220>' ✓ '<launch.event_handlers.on_include_launch_description.OnIncludeLaunchDescription object at 0x78bbf394ada0>'
[DEBUG] [launch.launch_description_source]: Traceback (most recent call last):
  File "/home/angsa/overlay_ws/build/launch/launch/launch_description_source.py", line 68, in try_get_launch_description_without_context
    perform_substitutions(context, self.__location)
  File "/home/angsa/overlay_ws/build/launch/launch/utilities/perform_substitutions_impl.py", line 26, in perform_substitutions
    return ''.join([context.perform_substitution(sub) for sub in subs])
  File "/home/angsa/overlay_ws/build/launch/launch/utilities/perform_substitutions_impl.py", line 26, in <listcomp>
    return ''.join([context.perform_substitution(sub) for sub in subs])
  File "/home/angsa/overlay_ws/build/launch/launch/launch_context.py", line 240, in perform_substitution
    return substitution.perform(self)
  File "/home/angsa/overlay_ws/build/launch/launch/substitutions/this_launch_file_dir.py", line 57, in perform
    raise SubstitutionFailure(
launch.substitutions.substitution_failure.SubstitutionFailure: ThisLaunchFileDir used outside of a launch file (in a script)

[DEBUG] [launch.launch_description_source]: Failed to load the launch file without a context: ThisLaunchFileDir used outside of a launch file (in a script)


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

Reproduce the report with ros2 launch gazebo_ros gazebo.launch.py -d, then inspect launch/launch_description_source.py and launch/substitutions/this_launch_file_dir.py at the traceback locations. Done means debug-mode launch still works without emitting the reported ThisLaunchFileDir traceback.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.