Skip to content

100% action server CPU usage when cancelling a goal from the client #221

@jubeira

Description

@jubeira

Bug report

Required Info:

  • Operating System:
  • Installation type:
    • Binaries
  • Version or commit hash:
    • Crystal pre-release (updated 14-12-2018; version 0.6.1)
  • DDS implementation:
    • Checked with FastRTPS and connext_cpp
  • Client library (if applicable):
    • rclcpp

Steps to reproduce issue

Start top in a terminal to monitor CPU usage.

Then, from another terminal, run minimal_action_server:

ros2 run examples_rclcpp_minimal_action_server action_server_not_composable

Finally, run minimal_action_client with cancel:

ros2 run examples_rclcpp_minimal_action_client action_client_not_composable_with_cancel

Expected behavior

Action is canceled, everything exits gracefully.

Actual behavior

Action is canceled, but in some cases a CPU thread keeps working at 100% until the server is shut down.

Additional information

This doesn't happen every time the action client is launched, but it's not too hard to reproduce either by launching it a few times. It seems to happen ~50% of the times.
This might be related to ros2/rcl#354.

Metadata

Metadata

Assignees

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