When I run my system under high load (mimicking a CI runner, which is where we first saw this issue, I often get the following segfault on shutdown:
[joint_state_publisher-2] Traceback (most recent call last):
[joint_state_publisher-2] File "/opt/ros/humble/lib/joint_state_publisher/joint_state_publisher", line 33, in <module>
[joint_state_publisher-2] sys.exit(load_entry_point('joint-state-publisher==2.4.0', 'console_scripts', 'joint_state_publisher')())
[joint_state_publisher-2] File "/opt/ros/humble/lib/python3.10/site-packages/joint_state_publisher/joint_state_publisher.py", line 476, in main
[joint_state_publisher-2] rclpy.spin(jsp)
[joint_state_publisher-2] File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/__init__.py", line 229, in spin
[joint_state_publisher-2] executor.spin_once()
[joint_state_publisher-2] File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 751, in spin_once
[joint_state_publisher-2] self._spin_once_impl(timeout_sec)
[joint_state_publisher-2] File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 748, in _spin_once_impl
[joint_state_publisher-2] raise handler.exception()
[joint_state_publisher-2] File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/task.py", line 254, in __call__
[joint_state_publisher-2] self._handler.send(None)
[joint_state_publisher-2] File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 440, in handler
[joint_state_publisher-2] arg = take_from_wait_list(entity)
[joint_state_publisher-2] File "/opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/executors.py", line 365, in _take_subscription
[joint_state_publisher-2] msg_info = sub.handle.take_message(sub.msg_type, sub.raw)
[joint_state_publisher-2] RuntimeError: Unable to convert call argument to Python object (compile in debug mode for details)
[ERROR] [joint_state_publisher-2]: process has died [pid 50128, exit code 1, cmd '/opt/ros/humble/lib/joint_state_publisher/joint_state_publisher --ros-args --params-file /tmp/launch_params_ty4xxyj9 --params-file /tmp/launch_params_h0fev5um -r ~/robot_description:=robot_description'].
When I run my system under high load (mimicking a CI runner, which is where we first saw this issue, I often get the following segfault on shutdown:
This looks like a related underlying fix, although I'm not quite sure why this would only happen sporadically... https://answers.ros.org/question/406710/
This is running on ROS 2 Humble on Ubuntu 22.04, using
rmw_cyclonedds_cpp.Any ideas? Thank you!