On 4/16/22 14:53, Gavin Jacobs wrote:
I had previously thought that there was an issue with the save/restore of the geometry of the QT window, but I determined that it was a problem when using the gr-soapy block with a hackrf, so I have started a new thread.

If I make a flowgraph using the "Soapy hackrf source" (i.e. gr-soapy block with a hackrf yml), it works fine when receiving the streaming data, but crashes the top block on exit. When I stop the flowgraph, I get the following message on the console area:
>>> Done (return code -11)
I now know that means a segmentation fault, and thanks to Vasil, I tried to debug it. The offending code is in a callback and references some memory that is no longer around, probably because all the blocks are shutting down and calling their respective destructors. So, I then disabled the gr-soapy source, and used the gr-osmosdr source (soapy=0,driver=hackrf). This worked as expected, including a normal message:
>>> Done
So, I compared the way the gr-osmosdr used soapyHackrf with the way gr-soapy does it, and I found that: gr-osmosdr calls deactivateStream() on stop(), and closeStream() on ~destructor() gr-soapy never calls deactivateStream(), calls closeStream() on stop(), and does nothing in ~destructor()

My assessment is that gr-soapy should follow the pattern previously used in gr-osmosdr. The call to deactivateStream() stops the streaming and cancels the callback, so the problem would be fixed. A workaround is to use the gr-osmosdr/soapy/hackrf block, but it is marked as deprecated, so that won't do for long term.

Is there anyone with a hackrf that can verify the problem? and then, how to register a bug report?

Jake


Try posting an issue

https://github.com/pothosware/SoapyHackRF

-- Cinaed

Reply via email to