discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] RunTime error in runtime_swig.py


From: Sonny Rajagopalan
Subject: Re: [Discuss-gnuradio] RunTime error in runtime_swig.py
Date: Mon, 30 Jan 2017 16:11:57 -0500

Attached.

On Mon, Jan 30, 2017 at 4:10 PM, Marcus Müller <address@hidden> wrote:

Huh. Can you share your top_block.py with us?

Best regards,

Marcus


On 01/30/2017 10:00 PM, Sonny Rajagopalan wrote:
Hi Marcus,

Appreciate your time with this. This output was observed when I followed your instructions:

linux; GNU C++ version 4.8.4; Boost_105400; UHD_3.11.0.git-59-g52ca2e0b

gr-osmosdr v0.1.x-xxx-xunknown (0.1.5git) gnuradio 3.7.10
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy soapy redpitaya 
Number of USB devices: 13
USB device 1d50:6089: 0000000000000000909864c82c3a2fcf match
Using HackRF One with firmware 2015.07.2 
Traceback (most recent call last):
  File "./top_block.py", line 73, in <module>
    main()
  File "./top_block.py", line 63, in main
    tb.start()
  File "/usr/local/lib/python2.7/dist-packages/gnuradio/gr/top_block.py", line 109, in start
    top_block_start_unlocked(self._impl, max_noutput_items)
  File "/usr/local/lib/python2.7/dist-packages/gnuradio/gr/runtime_swig.py", line 4879, in top_block_start_unlocked
    return _runtime_swig.top_block_start_unlocked(*args, **kwargs)
RuntimeError: list contains invalid format!


The following flow graph was used for this:

Inline image 1

On Mon, Jan 30, 2017 at 2:48 PM, Marcus Müller <address@hidden> wrote:

Hi Sonny,

please always make sure to reply to the list!

Ah, shoot, it backtraces the wrong thread :/ I can help you get a proper backtrace, but maybe we'll just take it the other way around:

Can you please make a clean, new flowgraph, use the osmocom source. Connect it to a null sink instead of WXGui and use "No GUI" and "run to completion" in the block options.

Does it work now?

The error you see is emitted by pmt.cc , line 1469 in my version of GNU Radio. The only case where I saw that exception ever been thrown myself is when I intentionally broke message passing by changing message port names. That is really unlikely to happen normally, so I wonder where that comes from.

Right now, my best guess is WX GUI, and that's what I'd like to rule out. By the way, you should be able to replace WXGUI with Qt GUI practically everywhere – we're planning to discard WXGUI completely with the next GNU Radio release.


Best regards,

Marcus


On 01/30/2017 08:37 PM, Sonny Rajagopalan wrote:
Here's what I got:

GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
Find the GDB manual and other documentation resources online at:
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from python2.7...Reading symbols from /usr/lib/debug//usr/bin/python2.7...done.
done.
Starting program: /usr/bin/python2.7 ./top_block.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
linux; GNU C++ version 4.8.4; Boost_105400; UHD_3.11.0.git-59-g52ca2e0b

[New Thread 0x7fffd6481700 (LWP 15978)]
[New Thread 0x7fffd5c80700 (LWP 15979)]
[New Thread 0x7fffd4eb7700 (LWP 15980)]
[New Thread 0x7fffc5124700 (LWP 15981)]
gr-osmosdr v0.1.x-xxx-xunknown (0.1.5git) gnuradio 3.7.10
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy soapy redpitaya 
[New Thread 0x7fffbffff700 (LWP 15982)]
[Thread 0x7fffbffff700 (LWP 15982) exited]
[New Thread 0x7fffbffff700 (LWP 15983)]
[Thread 0x7fffbffff700 (LWP 15983) exited]
[New Thread 0x7fffbffff700 (LWP 15984)]
[New Thread 0x7fffbf7fe700 (LWP 15985)]
[Thread 0x7fffbf7fe700 (LWP 15985) exited]
[Thread 0x7fffbffff700 (LWP 15984) exited]
[New Thread 0x7fffbffff700 (LWP 15986)]
[New Thread 0x7fffbf7fe700 (LWP 15987)]
[Thread 0x7fffbf7fe700 (LWP 15987) exited]
[Thread 0x7fffbffff700 (LWP 15986) exited]
[New Thread 0x7fffbffff700 (LWP 15988)]
[New Thread 0x7fffbf7fe700 (LWP 15989)]
[Thread 0x7fffbf7fe700 (LWP 15989) exited]
[Thread 0x7fffbffff700 (LWP 15988) exited]
[New Thread 0x7fffbffff700 (LWP 15990)]
[Thread 0x7fffbffff700 (LWP 15990) exited]
[New Thread 0x7fffbffff700 (LWP 15991)]
[Thread 0x7fffbffff700 (LWP 15991) exited]
[New Thread 0x7fffbffff700 (LWP 15992)]
[Thread 0x7fffbffff700 (LWP 15992) exited]
[New Thread 0x7fffbffff700 (LWP 15993)]
[Thread 0x7fffbffff700 (LWP 15993) exited]
[New Thread 0x7fffbffff700 (LWP 15994)]
Number of USB devices: 13
USB device 1d50:6089: 0000000000000000909864c82c3a2fcf match
Using HackRF One with firmware 2015.07.2 
[New Thread 0x7fffbf7fe700 (LWP 15995)]
Traceback (most recent call last):
  File "./top_block.py", line 100, in <module>
    main()
  File "./top_block.py", line 95, in main
    tb.Start(True)
  File "/usr/local/lib/python2.7/dist-packages/grc_gnuradio/wxgui/top_block_gui.py", line 74, in Start
    self.start()
  File "/usr/local/lib/python2.7/dist-packages/gnuradio/gr/top_block.py", line 109, in start
    top_block_start_unlocked(self._impl, max_noutput_items)
  File "/usr/local/lib/python2.7/dist-packages/gnuradio/gr/runtime_swig.py", line 4879, in top_block_start_unlocked
    return _runtime_swig.top_block_start_unlocked(*args, **kwargs)
RuntimeError: list contains invalid format!
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO^C
Program received signal SIGINT, Interrupt.
sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
85 ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S: No such file or directory.
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
#1  0x000000000056aae4 in PyThread_acquire_lock (lock=0x2cb2900, waitflag=1) at ../Python/thread_pthread.h:324
#2  0x000000000055e6be in lock_PyThread_acquire_lock.71666 (self=0x7fffe218c950, args=<optimized out>) at ../Modules/threadmodule.c:52
#3  0x0000000000523f6d in call_function (oparg=<optimized out>, pp_stack=0x7fffffffd0b0) at ../Python/ceval.c:4020
#4  PyEval_EvalFrameEx (address@hidden
---Type <return> to continue, or q <return> to quit---
    Frame 0x1f169b0, for file /usr/lib/python2.7/threading.py, line 339, in wait (self=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffe218c930>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffe218c930>, _Condition__waiters=[<thread.lock at remote 0x7fffe218c950>], release=<built-in method release of thread.lock object at remote 0x7fffe218c930>) at remote 0x7fffd81cd790>, timeout=None, waiter=<thread.lock at remote 0x7fffe218c950>, saved_state=None), address@hidden) at ../Python/ceval.c:2666
#5  0x0000000000555551 in PyEval_EvalCodeEx (co=0x7ffff59d5db0, globals=<optimized out>, address@hidden, args=<optimized out>, address@hidden, kws=<optimized out>, 
    address@hidden, address@hidden, defcount=1, closure=0x0) at ../Python/ceval.c:3252
#6  0x0000000000524338 in fast_function (nk=0, na=1, n=<optimized out>, pp_stack=0x7fffffffd2a0, func=<function at remote 0x7ffff304e668>) at ../Python/ceval.c:4116
#7  call_function (oparg=<optimized out>, pp_stack=0x7fffffffd2a0) at ../Python/ceval.c:4041
#8  PyEval_EvalFrameEx (
    address@hidden 0x7fffd81e2b90, for file /usr/lib/python2.7/threading.py, line 949, in join (self=<point_label_thread(_Thread__ident=140736499697408, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffe218c930>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffe218c930>, _Condition__waiters=[<thread.lock at remote 0x7fffe218c950>], release=<built-in method release of thread.lock object at remote 0x7fffe218c930>) at remote 0x7fffd81cd790>, _Thread__name='Thread-2', _Thread__daemonic=False, _Thread__kwargs={}, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7fffe218c910>, acquire=<built-in method acquire of thread.lock object at remote 0x7fffe218c910>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7fffe218c910>) at remote 0x7fffd81cd6d0>) at remote 0x7fffd81cd610>, _Thread__stderr=<file at remote 0...(truncated), address@hidden) at ../Python/ceval.c:2666
#9  0x0000000000555551 in PyEval_EvalCodeEx (co=0x7ffff3097930, globals=<optimized out>, address@hidden, args=<optimized out>, address@hidden, kws=<optimized out>, 
    address@hidden, address@hidden, defcount=1, closure=0x0) at ../Python/ceval.c:3252
#10 0x0000000000524338 in fast_function (nk=0, na=1, n=<optimized out>, pp_stack=0x7fffffffd490, func=<function at remote 0x7ffff3050578>) at ../Python/ceval.c:4116
#11 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd490) at ../Python/ceval.c:4041
#12 PyEval_EvalFrameEx (
    address@hidden 0x7fffc47c7b00, for file /usr/lib/python2.7/threading.py, line 1107, in _exitfunc (self=<_MainThread(_Thread__ident=140737353922368, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7ffff7f5f1f0>, acquire=<built-in method acquire of thread.lock object at remote 0x7ffff7f5f1f0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7ffff7f5f1f0>) at remote 0x7ffff3045c50>, _Thread__name='MainThread', _Thread__daemonic=False, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7ffff7f5f1d0>, acquire=<built-in method acquire of thread.lock object at remote 0x7ffff7f---Type <return> to continue, or q <return> to quit---
5f1d0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7ffff7f5f1d0>) at remote 0x7ffff3045b90>) at remote 0x7ffff3045ad0>, _Thread__stderr=<file at remote 0x7ffff7fad1e0>, _Thread__target=None, _Thread__kwargs={},...(truncated), address@hidden) at ../Python/ceval.c:2666
#13 0x0000000000568b3a in PyEval_EvalCodeEx (closure=<optimized out>, defcount=<optimized out>, defs=0x0, kwcount=<optimized out>, kws=<optimized out>, argcount=-998475008, 
    args=<optimized out>, locals=0x0, globals=<optimized out>, co=<optimized out>) at ../Python/ceval.c:3252
#14 function_call (address@hidden<function at remote 0x7ffff3050de8>, 
    address@hidden(<_MainThread(_Thread__ident=140737353922368, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7ffff7f5f1f0>, acquire=<built-in method acquire of thread.lock object at remote 0x7ffff7f5f1f0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7ffff7f5f1f0>) at remote 0x7ffff3045c50>, _Thread__name='MainThread', _Thread__daemonic=False, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7ffff7f5f1d0>, acquire=<built-in method acquire of thread.lock object at remote 0x7ffff7f5f1d0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7ffff7f5f1d0>) at remote 0x7ffff3045b90>) at remote 0x7ffff3045ad0>, _Thread__stderr=<file at remote 0x7ffff7fad1e0>, _Thread__target=None, _Thread__kwargs={}, _Verbose__verbose=False, _Thread__args=(), _Thread__stopped=True, _Thread__initialized=True)...(truncated), address@hidden) at ../Objects/funcobject.c:526
#15 0x00000000004c2604 in PyObject_Call (kw=0x0, 
    arg=(<_MainThread(_Thread__ident=140737353922368, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7ffff7f5f1f0>, acquire=<built-in method acquire of thread.lock object at remote 0x7ffff7f5f1f0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7ffff7f5f1f0>) at remote 0x7ffff3045c50>, _Thread__name='MainThread', _Thread__daemonic=False, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7ffff7f5f1d0>, acquire=<built-in method acquire of thread.lock object at remote 0x7ffff7f5f1d0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7ffff7f5f1d0>) at remote 0x7ffff3045b90>) at remote 0x7ffff3045ad0>, _Thread__stderr=<file at remote 0x7ffff7fad1e0>, _Thread__target=None, _Thread__kwargs={}, _Verbose__verbose=False, _Thread__args=(), _Thread__stopped=True, _Thread__initialized=True)...(truncated), func=<function at remote 0x7ffff3050de8>) at ../Objects/abstract.c:2529
#16 instancemethod_call.8802 (func=<function at remote 0x7ffff3050de8>, address@hidden<instancemethod at remote 0x7ffff7ec5500>, 
    arg=(<_MainThread(_Thread__ident=140737353922368, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7ffff7f5f1f0>, acquire=<built-in method acquire of thread.lock object at remote 0x7ffff7f5f1f0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x7ffff7f5f1f0>) at remote 0x7ffff3045c50>, _Thread__name='MainThread', _Thread__daemonic=False, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x7ffff7f5f1d0>, acquire=<built-in method acquire of thread.lock object at remote 0x7ffff7f5f1d0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x---Type <return> to continue, or q <return> to quit---
7ffff7f5f1d0>) at remote 0x7ffff3045b90>) at remote 0x7ffff3045ad0>, _Thread__stderr=<file at remote 0x7ffff7fad1e0>, _Thread__target=None, _Thread__kwargs={}, _Verbose__verbose=False, _Thread__args=(), _Thread__stopped=True, _Thread__initialized=True)...(truncated), address@hidden(), address@hidden) at ../Objects/classobject.c:2602
#17 0x0000000000510bc2 in PyObject_Call (kw=0x0, arg=(), func=<instancemethod at remote 0x7ffff7ec5500>) at ../Objects/abstract.c:2529
#18 call_function_tail (args=(), callable=<instancemethod at remote 0x7ffff7ec5500>) at ../Objects/abstract.c:2561
#19 PyObject_CallMethod (o=<optimized out>, name=<optimized out>, format=<optimized out>) at ../Objects/abstract.c:2638
#20 0x00000000004265d5 in wait_for_thread_shutdown () at ../Python/pythonrun.c:1720
#21 Py_Finalize () at ../Python/pythonrun.c:413
#22 0x0000000000466e21 in Py_Main (argc=<optimized out>, argv=0x7fffffffdad8) at ../Modules/main.c:665
#23 0x00007ffff7818f45 in __libc_start_main (main=0x466e50 <main>, argc=2, argv=0x7fffffffdad8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdac8)
    at libc-start.c:287
#24 0x0000000000577c2e in _start ()
(gdb) 


On Mon, Jan 30, 2017 at 2:27 PM, Marcus Müller <address@hidden> wrote:

Hi Sonny,

that's unusual. Can you run

gdb -ex run -ex bt --args python2 '/mymachine/sdr/gnuradioProjects/flowGraphsFromGRC/top_block.py'

and copy & paste the output backtrace? Ideally, we'd see *exactly* what crashes where.

Best regards,

Marcus

On 01/30/2017 08:12 PM, Sonny Rajagopalan wrote:
Hello,

I have a simple flow graph as shown (from this video tutorial http://greatscottgadgets.com/sdr/1/):

Inline image 1

The *.py that is created is attached. The code crashes with the following error:

Generating: '/mymachine/sdr/gnuradioProjects/flowGraphsFromGRC/top_block.py'

Generating: '/mymachine/sdr/gnuradioProjects/flowGraphsFromGRC/top_block.py'

Executing: /usr/bin/python2 -u /mymachine/sdr/gnuradioProjects/flowGraphsFromGRC/top_block.py

linux; GNU C++ version 4.8.4; Boost_105400; UHD_3.11.0.git-59-g52ca2e0b

gr-osmosdr v0.1.x-xxx-xunknown (0.1.5git) gnuradio 3.7.10
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy soapy redpitaya 
Number of USB devices: 13
USB device 1d50:6089: 0000000000000000909864c82c3a2fcf match
Using HackRF One with firmware 2015.07.2 
Traceback (most recent call last):
  File "/mymachine/sdr/gnuradioProjects/flowGraphsFromGRC/top_block.py", line 100, in <module>
    main()
  File "/mymachine/sdr/gnuradioProjects/flowGraphsFromGRC/top_block.py", line 95, in main
    tb.Start(True)
  File "/usr/local/lib/python2.7/dist-packages/grc_gnuradio/wxgui/top_block_gui.py", line 74, in Start
    self.start()
  File "/usr/local/lib/python2.7/dist-packages/gnuradio/gr/top_block.py", line 109, in start
    top_block_start_unlocked(self._impl, max_noutput_items)
  File "/usr/local/lib/python2.7/dist-packages/gnuradio/gr/runtime_swig.py", line 4879, in top_block_start_unlocked
    return _runtime_swig.top_block_start_unlocked(*args, **kwargs)
RuntimeError: list contains invalid format!


Gnuradio version: v3.7.10.1-182-g59136936, built using PyBOMBS; python2.7 and 3.4 on system. I know Cinaed said this is operator error, but some pointers for how to fixing this is appreciated.

Any insights into how this can be fixed is appreciated. I raised this issue with the HackRF people and they say it is better asked here.

Thanks,
Sonny.


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________ Discuss-gnuradio mailing list address@hidden https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Attachment: top_block.py
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]