Hello,
I’m trying to diagnose a ARV_BUFFER_STATUS_SIZE_MISMATCH that appears in a, for the moment, unknown circumstance.
Background:
- aravis: 0.8.30
- Camera connection: USB3 async (unable to work in sync mode)
- Target setup:
- 2 cameras of the same model working in parallel with synchronized triggering
- Host computer: Nvidia Jetson Orin (with a vendor carrier, not the devkit)
Issue:
Suddenly some buffers arrive with status ARV_BUFFER_STATUS_SIZE_MISMATCH, this happens on both cameras at the same time for a couple of frames.
Things that I’ve tried/tested:
- Single camera: results in no issue (at least not observed in a reasonable time)
- Different host computer:
- Laptops (x64): I’ve tested with different laptops and got varying results, on some works without issue, on others the issue persists with different “frequencies” between errors
- Raspberry Pi 5 (arm64): no issue (at least not observed in a reasonable time)
- Increase thread priority / realtime
- Separate processes for each camera / single process with both of them (feels like it gives less issues and less random on appearance)
- Increase the aravis log level: reports “🆆 stream-thread> Unexpected total payload size (received XXXXXXX - expected 6410688)” with the received part changing almost always
- Check that there are enough buffers available: when that buffer is received, there are always >1 buffers on the input queue
- Check if when starts failing fails until reboot: the issue appears for a couple of frames and recovers itself, doesn’t have a “fixed” period neither on frames nor time between issues.
- Check the dmesg / syslog: nothing obvious appears
- Update the camera driver: no luck
- Try newer aravis version: no luck either
Reproducible with:
# terminal 1
ARV_DEBUG=stream-thread:2 arv-camera-test-0.8 -n "<cam1>" --usb-mode=async -o 20 -e 500
# terminal 2
ARV_DEBUG=stream-thread:2 arv-camera-test-0.8 -n "<cam2>" --usb-mode=async -o 20 -e 500
At this point I could really use some help to debug / keep digging on the issue. Any ideas?
Thanks in advance.