Reproducible erroneous behaviour on drone.streaming.stop()

Whenever I issue this drone.streaming.stop() the response of either the simulator or a real drone is

2022-08-10 08:59:08,269 [DEBUG] pltest.py: stop_streaming: drone streaming stop
2022-08-10 08:59:09,276 [WARNING]       olympe.pdraw.ANAFI-0000000 - aclose - Closing pdraw session timedout
2022-08-10 08:59:09,347 [DEBUG] pltest.py: stop_streaming: drone streaming stopped
2022-08-10 08:59:09,353 [WARNING]       olympe.pdraw.ANAFI-0000000 - _stop - cleanup leftover pdraw callbacks eventfds
2022-08-10 08:59:09,353 [WARNING]       olympe.pdraw.ANAFI-0000000 - _stop - cleanup leftover pdraw callbacks eventfds
2022-08-10 08:59:09,354 [WARNING]       olympe.pdraw.ANAFI-0000000 - _stop - cleanup leftover pdraw callbacks eventfds
2022-08-10 08:59:11,353 [ERROR]         olympe.pdraw.ANAFI-0000000 - destroy - Pdraw.destroy() timedout
2022-08-10 08:59:11,360 [ERROR]         ulog - pomp - fd=46, cb=0x7fa1530070 still in loop
2022-08-10 08:59:11,360 [ERROR]         ulog - pomp - fd=50, cb=0x7fa1136f90 still in loop
2022-08-10 08:59:11,360 [ERROR]         ulog - pomp - fd=48, cb=0x7fa1530070 still in loop
2022-08-10 08:59:11,361 [ERROR]         ulog - pomp - fd=45, cb=0x7fa1530070 still in loop
2022-08-10 08:59:11,361 [ERROR]         ulog - pomp - fd=51, cb=0x7fa1137190 still in loop
2022-08-10 08:59:11,361 [ERROR]         ulog - pomp - fd=49, cb=0x7fa1530070 still in loop
2022-08-10 08:59:11,361 [ERROR]         ulog - pomp - fd=55, cb=0x7fa0dd77c0 still in loop
2022-08-10 08:59:11,361 [ERROR]         ulog - pomp - fd=53, cb=0x7fa1530070 still in loop
2022-08-10 08:59:11,361 [ERROR]         ulog - pomp - fd=57, cb=0x7fa152c660 still in loop
2022-08-10 08:59:11,361 [ERROR]         olympe.pdraw.ANAFI-0000000 - _destroy_pomp_loop - Error while destroying pomp loop: -16

in 8 of 10 cases. The situation is mostly self-healing, but it can take up to 10 seconds until it returns.

What can I do about this?

2022-08-13 08:28:15,190 [INFO] pltest.py: stop_streaming: stop streaming
Exception ignored in: <module 'threading' from '/home/pi/code/parrot-groundsdk/out/olympe-linux/pyenv_root/versions/3.9.5/lib/python3.9/threading.py'>
Traceback (most recent call last):
  File "/home/pi/code/parrot-groundsdk/out/olympe-linux/pyenv_root/versions/3.9.5/lib/python3.9/threading.py", line 1428, in _shutdown
    lock.acquire()
  File "/home/pi/vx-anafi-pi/pltest.py", line 373, in handle_sigint
    self.close()
  File "/home/pi/vx-anafi-pi/pltest.py", line 383, in close
    sys.exit(0)        
SystemExit: 0

This is what happens repeatedly as response to a CTRL_C followed by drone.streaming.stop().

Traceback (most recent call last):
  File "/home/pi/code/parrot-groundsdk/out/olympe-linux/pyenv_root/versions/3.9.5/lib/python3.9/threading.py", line 1428, in _shutdown
    lock.acquire()

100 of 100 times. When the streaming is running.

Hi

This is a known issue in the pdraw video pipeline when we stop a streaming session. There is a specific workaround in Olympe that should do what ever it takes to free any resource associated with this dead streaming session.

This workaround takes some time to kicking in. This should be transparent for you (except for this additional delay). Anyway, there is nothing specific you can do on your end.

I don’t know what you’re doing here. Could you please elaborate if you think it’s related issue ?

Find more info here "Connection reset by peer" while flying streaming video - #4 by Neil

Can be closed

This topic was automatically closed after 30 days. New replies are no longer allowed.