SI-SDR-UG Event 3 -- Save the Date!! -- Saturday April 30

2022-04-16 Thread Neel Pandeya
Save-the-Date!!

The 3rd event of the South Indian SDR User Group (SI-SDR-UG) will be held
on Saturday April 30.

The event is free and is fully virtual.

Please visit our website for the agenda, and for updates as the date gets
closer.

https://www.softwaredefinedradio.in/


gr-soapy mishandles hackrf on flowgraph exit

2022-04-16 Thread Gavin Jacobs
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



Re: gr-soapy mishandles hackrf on flowgraph exit

2022-04-16 Thread Cinaed Simson



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