You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Run either of the two commands, and after all the nodes launch, press ctrl+c repeatedly really fast. It might take a couple of tries.
Expected behavior
The ros2 process should exit without hanging.
Actual behavior
The ros2 process hangs forever.
Additional information
This issue is caused by this Python bug where a KeyboardInterrupt hangs thread.join on Windows. Although this has been fixed in newer Python versions. ROS Foxy uses Python 3.8 which does not have this fix. I have verified that applying the fix does solve the issue.
I'm not sure how to fix other than just updating to Python 3.9. It might be possible to make the thread a daemon and not use join, but I'm not sure if that would work or have other side effects.
Bug report
Required Info:
Steps to reproduce issue
This occurs with any launch file where quitting takes enough time for multiple ctrl+c's to be sent. I've verified the issue with the following two:
Run either of the two commands, and after all the nodes launch, press ctrl+c repeatedly really fast. It might take a couple of tries.
Expected behavior
The ros2 process should exit without hanging.
Actual behavior
The ros2 process hangs forever.
Additional information
This issue is caused by this Python bug where a
KeyboardInterrupt
hangsthread.join
on Windows. Although this has been fixed in newer Python versions. ROS Foxy uses Python 3.8 which does not have this fix. I have verified that applying the fix does solve the issue.The ROS code that uses
thread.join
is here:launch_ros/launch_ros/launch_ros/ros_adapters.py
Line 88 in a58b2e6
Log from the command:
The text was updated successfully, but these errors were encountered: