Skip to content

Lifecycle nodes silently swallow exception information on failed transition. #776

@rotu

Description

@rotu

Bug report

Required Info:

  • Operating System:
    • Ubuntu 18
  • Installation type:
    • From source
  • Version or commit hash:
  • DDS implementation:
    • OpenSplice
  • Client library (if applicable):
    • rclcpp

Steps to reproduce issue

With navigation2 stack installed in one window:

ros2 run nav2_map_server map_server     

in another window::

ros2 run nav2_map_server map_server

Expected behavior

An error message is logged containing verbose error information.

Actual behavior

The following is logged:

ros2 run nav2_map_server map_server
[INFO] [map_server]: Creating
[INFO] [map_server]: Configuring
[WARN] []: Error occurred while doing error handling.
[FATAL] [map_server]: Lifecycle node entered error state

Additional information

This is upstream of the issue: ros-navigation/navigation2#881
As explained by @crdelsey, it seems the code to verbosely log the exception exists but is commented out:

// TODO(karsten1987): Windows CI doesn't let me print the msg here
// the todo is to forward the exception to the on_error callback
// RCUTILS_LOG_ERROR("Caught exception in callback for transition %d\n",
// it->first);
// RCUTILS_LOG_ERROR("Original error msg: %s\n", e.what());
// maybe directly go for error handling here
// and pass exception along with it

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions