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<listcomp>
    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

Reply via email to