Timple
April 10, 2025, 12:04pm
3
This release contains a regression in rclcpp
if you are using the events-executor.
Perhaps more people are wondering why their computer is turning into a hairdryer because of the high CPU usage.
opened 09:44AM - 10 Apr 25 UTC
bug
### Operating System:
ubuntu 22
### ROS version or commit hash:
jazzy
### RM… W implementation (if applicable):
rmw_cyclonedds_cpp and rmw_fastdds_cpp
### RMW Configuration (if applicable):
_No response_
### Client library (if applicable):
rclcpp
### 'ros2 doctor --report' output
_No response_
### Steps to reproduce issue
1. Run any action server with EventsExecutor, e.g. [from ros2 demos](https://github.com/ros2/demos/tree/rolling/action_tutorials/action_tutorials_cpp) , compile with EventsExecutor specified `rclcpp_components_register_node(action_tutorials PLUGIN "action_tutorials_cpp::FibonacciActionServer" EXECUTABLE fibonacci_action_server EXECUTOR EventsExecutor)`
2. `ros2 run action_tutorials_cpp fibonacci_action_server`
3. Check CPU load
### Expected behavior
EventsExecutor has similar or less CPU load than SingleThreadedExecutor when running an idle action server
Running with SingleThreadedExecutor the CPU load is 0% (as nothing is happening)
### Actual behavior
CPU load is significantly more than 0, e.g. 50%:

### Additional information
When I revert https://github.com/ros2/rclcpp/pull/2674 , it behaves as expected
I thought it might be worth mentioning here because of the possible large impact. This is typically why the testing-repo exists, but issues like these are often only found in real deployments is my experience.
1 Like