Hello everyone,
I'm running a pretty experimental version of Gnuradio on Android. The python
console is working correctly, I can instantiate regular blocks, connect them
around and run them, but when I instantiate hierarchical blocks, I get the
following exception:
Traceback (most recent call last):
File "/data/user/0/org.
adi.grflowgraphrunner/cache/lib/python3.10/grflow.py,line 188, in _init.
self.analog_nbfm_rx_0=analog.nbfm_rx(
File"/data/user/0/org.adi.grflowgraphrunner/cache/lib/python3.10/site-packages/gnuradio/analog/nbfm_rx.py",line64,in_init_
self.deemph = fm_deemph(quad_rate, tau=tau)
File"/data/user/O/org.adi.grflowgraphrunner/cache/lib/python3.10/site-packages/gnuradio/analog/fm_emph.py",line121,in_init_
self.connect(self, deemph, self)
File "/data/user/0/org.
adi.grflowgraphrunner/cache/lib/python3.10/site-packages/gnuradio/gr/hier_block2.py",line34,inwrapped
endp = (p.to_basic_block0, 0) if hasattr(p, 'to basic block')
File"/data/user/0/org.adi.grflowgraphrunner/cache/lib/python3.10/site-packages/gnuradio/gr/hier_block2.py",line34,in
endp = [(p.to_basic_block0, O) if hasattr(p, 'to_basic_block)
RuntimeError: bad_weak_ptr
As far as I can tell, the C++ to_basic_block gets called, and throws the error
from within shared_from_this(). I'm not sure however if it's called on the
correct block, or a new instance is created, or ... ?
The script isn't anything too crazy, a simple flowgraph with a NBFM receiver
connected to a pluto source - it is generated from the companion. Other hier
blocks exhibit the same behavior as far as I've tested.
Anyone know what might be wrong here ?
For reference: gnuradio is buit from the latest master, pybind11 with the
latest master, python 3.10 using android-ndk r23.
-Adrian