[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_OUT_OF_PHYSICAL_DEVICES(74)

I got the error : [HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_OUT_OF_PHYSICAL_DEVICES(74)

Is it possible to solve it without reboot the raspberry and hailo ?

Thanks

Hey @user82,

Yes, this can happen when an application using Hailo didn’t close properly. The simple fix is to:

  1. Open your terminal
  2. Run htop
  3. Look for any running Hailo
  4. Kill the remaining process

This should resolve the issue and free up your device.

Best regards,
Omria

1 Like

As @omria has correctly mentioned, this occurs when the device is essentially in use by another process / not shutdown correctly. To avoid this, ensure you always release the device once finished with it

Taking the HRT_2_Infer_Pipeline_Inference_Tutorial python code as an example,

you might declare your VDevice as follows:

# The target can be used as a context manager ("with" statement) to ensure it's released on time.
# Here it's avoided for the sake of simplicity
target = VDevice()

# other config code etc here
...

If you try to rerun that same block of code again, you’ll hit this error [HAILO_OUT_OF_PHYSICAL_DEVICES(74)](https://community.hailo.ai/t/hailort-error-check-success-failed-with-status-hailo-out-of-physical-devices-74/9511)

but if you include a simple:

target.release()

then it’ll run as expected again.

1 Like

How would you introduce a similar statement in detection.py? You are not explicitly creating a target. Perhaps I am misunderstanding something. I am receiving the same error.

Hey @Daniel_Manz ,

The code that @natsayin_nahin shared is for using the Python API.
When you’re working in detection.py, make sure you exit properly by using Ctrl+C or Ctrl+Z!

I am, but frequently getting this error

Hi,

I have the same issue. Using Hailo8 on Ubuntu, with the Hailo docker container installed. Everything was working until yesterday. Now it keeps giving me the HAILO_OUT_OF_PHYSICAL_DEVICE error. The problem doesn’t go away by rebooting the PC or the Hailo8 module. When I do htop, no other Hailo applications are running in the background. Here is what I get by running a simple application like tappas/detection.sh

usr/lib/x86_64-linux-gnu/hailo/tappas/post_processes/libyolo_hailortpp_post.so
Running yolov8m
gst-launch-1.0 filesrc location=/local/workspace/tappas/detection/resources/detection.mp4 name=src_0 ! decodebin ! queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! videoscale qos=false n-threads=2 ! video/x-raw, pixel-aspect-ratio=1/1 ! queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! videoconvert n-threads=2 qos=false ! queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! hailonet hef-path=/local/workspace/tappas/detection/resources/yolov8m.hef batch-size=1 nms-score-threshold=0.3 nms-iou-threshold=0.45 output-format-type=HAILO_FORMAT_TYPE_FLOAT32 ! hailofilter function-name=yolov8m so-path=/usr/lib/x86_64-linux-gnu/hailo/tappas/post_processes/libyolo_hailortpp_post.so config-path=null qos=false ! queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! hailooverlay qos=false ! videoconvert n-threads=2 qos=false ! queue leaky=no max-size-buffers=30 max-size-bytes=0 max-size-time=0 ! fpsdisplaysink video-sink=ximagesink text-overlay=false name=hailo_display sync=false
[HailoRT] [error] CHECK failed - Failed to create vdevice. there are not enough free devices. requested: 1, found: 0
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_OUT_OF_PHYSICAL_DEVICES(74)
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_OUT_OF_PHYSICAL_DEVICES(74)
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_OUT_OF_PHYSICAL_DEVICES(74)
[HailoRT] [error] CHECK_SUCCESS failed with status=HAILO_OUT_OF_PHYSICAL_DEVICES(74)
CHECK_EXPECTED failed with status=74
Setting pipeline to PAUSED …
Pipeline is PREROLLING …
Redistribute latency…
Redistribute latency…
ERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0: Internal data stream error.
Additional debug info:
../gst/isomp4/qtdemux.c(6760): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to NULL …
Freeing pipeline …

Update: The problem is fixed by removing the PCI driver and installed it again.

Hey @Daniel_Manz ,

I am looking into this , Will update the repos to have more checks for this !

Hey @Saeid_Dehnavi,

Welcome to the Hailo Community!

Sometimes when you’re working with Docker, the container can grab hold of the driver and keep it locked. What you might see then is an “out of physical devices” error when you restart your PC. It’s a pretty common thing that catches people off guard at first, but it’s usually just a matter of properly releasing the driver before rebooting.