Executor spin_once must check wait_for_ready_callbacks returns None
See original GitHub issue- Operating System:
- Ubuntu 18.04
- Installation type:
- ubuntu packages
- Version or commit hash:
- Dashing
- Client library (if applicable):
- rclpy
When developping a node that has a timer and Action clients, and having a MultiThreadExecutor manage the callbacks, I encoutered the following issue when trying to shutdown the executor from the timer callback:
File "/home/lesire/Work/MUST/ros2_ws/build/oara/oara/actor.py", line 40, in run
self._executor.spin()
File "/opt/ros/dashing/lib/python3.6/site-packages/rclpy/executors.py", line 273, in spin
self.spin_once()
File "/opt/ros/dashing/lib/python3.6/site-packages/rclpy/executors.py", line 695, in spin_once
handler, entity, node = self.wait_for_ready_callbacks(timeout_sec=timeout_sec)
TypeError: 'NoneType' object is not iterable
Issue Analytics
- State:
- Created 4 years ago
- Comments:8 (7 by maintainers)
Top Results From Across the Web
Execution and Callbacks — rclpy 0.6.1 documentation
This is used to tell the executor when entities are created or destroyed. Return type. None. exception rclpy.executors. ExternalShutdownException ...
Read more >Executors — ROS 2 Documentation: Rolling documentation
Run the executor. rclcpp::spin(node); // Shutdown and exit. ... return 0; } ... The callback group must be stored throughout execution of the...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
What I mean is that this is still a bug in Dashing (where the bug is being reported). We can either fix it, add it to known bugs, or mark the issue as help wanted.
But I don’t think that marking the ticket as solved is correct. This is still a bug in the distribution it was reported, and backporting the fix applied on master doesn’t seem trivial.
Dashing is EOL. Closing.