Closed jonashoechst closed 3 years ago
As far as I understood the bug, rtlsdr does return zero bytes here, which leads the further processing to fail and raise an exception.
The main loop checks its SDRs periodically to handle such errors: https://github.com/Nature40/pyradiotracking/blob/7fa51520230e2b48067d7190d369faf3344e4a17/radiotracking/__main__.py#L123-L124
However, this raised exception does somehow not lead to the process being stopped.
The underlying exception can easily be fixed by checking for the times
array. However, if other Exceptions arise from corrupt data, the underlying bug will still be problematic.
A redundant watchdog system was introduced in fb44944 which should fix this error and other potential errors related to incorrect analyzer process termination.
There seems to be a rare case, in which a dead logger leads to a process failing instead of restarting / terminating the program.