Hello,
We are currently experiencing some problems when starting multiple OAK-D-PRO-POE cameras using the jazzy ros2 version of the depthai-core library (Version: 2.31.0-1noble.20260121.183544)
More specifically, we are currently running 6 POE cameras connected to the same UniFI Pro Max 16 switch. We are doing a stress test on the system using a staggering launch approach, starting a camera every 5 seconds.
For the cameras we are implementing a custom trigger-based capture mechanism patching the RGB pipeline to allow publishing streams on request. I have attached the modified camera.cpp, rgb.cpp and img_pub.cpp we are currently using.
As we run cameras in this custom mode, we are noticing frequent startup errors like these:
PRIMARY_FAILURE: [component_container-2] [31m[ERROR][1772005256.235094480] [left_robot.rpc_camera]: Camera startup attempt 1/3 failed: Device already closed or disconnected: Input/output error[0m
This then triggers the call to the stop function where we get:
[component_container-2] [0m[INFO] [1772005256.235175890] [left_robot.rpc_camera]: Stopping camera.[0m
[component_container-2] [0m[INFO] [1772005256.235194341] [left_robot.rpc_camera]: Closing Queues[0m
[component_container-2] [0m[INFO] [1772005256.235336831] [left_robot.rpc_camera]: Closed Queues[0m
[component_container-2] [0m[INFO] [1772005256.235350301] [left_robot.rpc_camera]: Clearing Nodes[0m
[component_container-2] [0m[INFO] [1772005256.235416271] [left_robot.rpc_camera]: Cleared Nodes[0m
[component_container-2] [0m[INFO] [1772005256.235427521] [left_robot.rpc_camera]: Resetting device[0m
[component_container-2] [14442C1051C5F2D600] [198.18.0.6] [1772005257.959] [host] [warning] Monitor thread (device: 14442C1051C5F2D600 [198.18.0.6]) - ping was missed, closing the device connection
[ERROR][component_container-2]: process has died [pid 2505189, exit code -11, cmd '/opt/ros/jazzy/lib/rclcpp_components/component_container --ros-args --log-level info --ros-args -r __node:=rpc_camera_container -r __ns:=/left_robot'].
Any ideas on why we get the initial error in the first place and what is causing the crash during the stop routine?
Thanks a lot for the help!
Best
Alessandro @ WittyMachines