ros1_bridge icon indicating copy to clipboard operation
ros1_bridge copied to clipboard

Ignoring errored service requests

Open machinekoder opened this issue 5 years ago • 6 comments

Bug report

Required Info:

  • Operating System:
    • Ubuntu 18.04
  • Installation type:
    • Build from source
  • Version or commit hash: 46baa889bcb9808b5b461f98faee520a90d57347
  • DDS implementation: FastRTPS
  • Client library (if applicable): rclcpp

Steps to reproduce issue

  • Create service in ROS1
  • Create client in ROS2
  • Call service in client producing an unhandled exception in the ROS1 service callback

Expected behavior

  • ros1_bridge displays the error message but doesn't crash/stop.

Actual behavior

  • ros1_bridge stops/crashes displaying the error message

Additional information

If this shouldn't be the default behavior for some reason, a command-line argument e.g. --ignore-errors would be great.

machinekoder avatar Oct 10 '19 13:10 machinekoder

Can you provide a SSCCE for reproducing the error? Thanks

jacobperron avatar Oct 10 '19 20:10 jacobperron

@machinekoder Friendly ping. If you could provide reproducible example of a service and client that causes the error that would be great.

jacobperron avatar Oct 24 '19 17:10 jacobperron

We'd appreciate help implementing a fix/enhancement for this. For now I'm putting this in the backlog as we don't have time to address it.

wjwwood avatar Nov 14 '19 17:11 wjwwood

Instead of moving the ticket to the backlog this ticket needs more information.

dirk-thomas avatar Nov 14 '19 17:11 dirk-thomas

@machinekoder Friendly ping.

dirk-thomas avatar Jan 31 '20 17:01 dirk-thomas

Reproducible example - run the following:

  • roscore
  • dynamic_bridge
  • ROS 1 rospy_tutorials add_to_ints_server with the server callback modified to raise an exception
  • ROS 2 demo_nodes_py add_to_ints_client

Atm the rclcpp / rcl / rm API must return a response from a service call and there is no way to communicate a problem. Until that is resolved the bridge can't do anything but error in this case (or never return the service call which isn't a good option either).

dirk-thomas avatar May 19 '20 22:05 dirk-thomas