From 4e49c3f79667c6da537dea2e0bc43dcf6ade73bf Mon Sep 17 00:00:00 2001 From: Sebastian Castro <4603398+sea-bass@users.noreply.github.com> Date: Mon, 5 Feb 2024 16:32:34 -0500 Subject: [PATCH] Avoid stack traces when aborting an advertised action goal (#906) --- .../src/rosbridge_library/capabilities/advertise_action.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rosbridge_library/src/rosbridge_library/capabilities/advertise_action.py b/rosbridge_library/src/rosbridge_library/capabilities/advertise_action.py index 4a6c0fd7f..1478a3b24 100644 --- a/rosbridge_library/src/rosbridge_library/capabilities/advertise_action.py +++ b/rosbridge_library/src/rosbridge_library/capabilities/advertise_action.py @@ -80,7 +80,9 @@ async def execute_callback(self, goal: Any) -> Any: def done_callback(fut: rclpy.task.Future()) -> None: if fut.cancelled(): goal.abort() - fut.set_exception(RuntimeError(f"Aborted goal {goal_id}")) + self.protocol.log("info", f"Aborted goal {goal_id}") + # Send an empty result to avoid stack traces + fut.set_result(get_action_class(self.action_type).Result()) else: goal.succeed()