Hi,
I’m running the Hailo GStreamer pipeline on a Seeed reComputer AI R2000 using Docker. My Dockerfile is based on the dtcooper/raspberrypi-os:bookworm image. Here’s the command I use to run the Docker container:
sudo docker run --privileged --network host -it \
-v /dev:/dev \
-v /lib/firmware:/lib/firmware \
-v /lib/modules:/lib/modules \
--device=/dev/hailo0:/dev/hailo0 \
-v /run/systemd/system:/run/systemd/system \
-v /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket \
-v /etc:/etc \
-v /var/lib:/var/lib \
-v /var/log:/var/log \
-v /home/eli/oshadha/docker2/qube-fastapi-poc/ai_pipeline_hailo/src/object-detection-hailo.py:/backend/src/ai_pipeline_hailo/src/object-detection-hailo.py \
hailo /bin/bash
When I enable the multi-process-service=true option in the hailonet element of my pipeline, I receive the following error:
[HailoRT] [error] CHECK_GRPC_STATUS failed with error code: 14.
[HailoRT] [warning] Make sure HailoRT service is enabled and active!
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_RPC_FAILED(77)
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_RPC_FAILED(77)
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_RPC_FAILED(77)
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_RPC_FAILED(77)
CHECK_EXPECTED failed with status=77
This is how I use the multi-process-service=true in the hailonet element of the pipeline:
pipeline_string += f"hailonet hef-path={self.hef_path} batch-size={self.batch_size} {self.thresholds_str} force-writable=true multi-process-service=true device-count=1 vdevice-group-id=1 ! "
However, when I remove the multi-process-service=true flag, the pipeline runs successfully. Also, outside of Docker, the pipeline works fine even with multi-process-service=true enabled.
Since I need to run multiple streams, I must enable multi-process-service=true. Can anyone suggest a solution or provide guidance on how to resolve this issue?
Thanks in advance!