I am investigating shutdown behavior in a GStreamer/HailoNet application using:
-
Hailo-8 M.2 module, part HM218B1C2FAE
-
HailoRT and PCIe driver 4.24.0
-
Firmware 4.24.0
-
Orange Pi 5 Plus, AArch64
-
Armbian 26.5.1 / Ubuntu 26.04
-
Kernel 6.1.115-vendor-rk35xx
Two bounded 48-frame runs produced the same application-visible result:
-
48 frames admitted
-
47 frames acknowledged at the Hailo source boundary
-
1 frame pending at EOS
-
Hailo sink EOS occurred before source EOS
-
Four external probe contexts were destroyed
-
Zero external probe callbacks remained in flight
-
Process exited normally without a watchdog timeout
The application observer localizes the unacknowledged frame to the Hailo sink-to-source boundary. This does not establish why it was not observed or attribute causality to HailoRT.
My main question is about internal asynchronous lifetime:
Does HailoRT 4.24.0 guarantee that all detached inference-completion callbacks or outstanding transfers have completed or been safely cancelled before HailoNet finishes its READY-to-NULL transition and releases dependent resources?
In particular:
-
Does configured-inference-model shutdown wait for all detached completion callbacks?
-
What happens if its internal wait reaches a timeout?
-
Is completion of the HailoNet output thread separate from completion of inference callbacks?
-
Is there a supported API, tracepoint, log category, counter, debug-symbol package, or instrumented build that can prove zero outstanding callbacks/transfers at shutdown?
-
Can Hailo provide version-matched symbols or a supported diagnostic for HailoRT 4.24.0?
I have exact runtime/plugin hashes, ELF build IDs, and preserved comparison evidence available if required.