Re: [Discuss-gnuradio] QT Gui mem alloc error - runs OK if R, C hints deleted

2018-06-26 Thread Tom McDermott
Thanks, Marcus:re-built with debug symbols.  v3.7.11.1

Attached is the flowgraph causing the problem
 - both the GRC and the resultant top_block.py

It uses an OOT module that talks to OpenHPSDR hardware
over Ethernet - should have one thread running to receive Ethernet frames.
from:https://github.com/Tom-McDermott/gr-hpsdr

Results from gdb:

(gdb) start
Temporary breakpoint 1 at 0x4934c0: file ../Modules/python.c, line 20.
Starting program: /usr/bin/python2 top_block.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Temporary breakpoint 1, main (argc=2, argv=0x7fffdfb8)
at ../Modules/python.c:20
20../Modules/python.c: No such file or directory.


(gdb) break std::bad_alloc::what()
Function "std::bad_alloc::what()" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 2 (std::bad_alloc::what()) pending.


(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/bin/python2 top_block.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffdb463700 (LWP 29362)]
[New Thread 0x7fffdac62700 (LWP 29363)]
[New Thread 0x7fffd6461700 (LWP 29364)]
[New Thread 0x7fffd5c60700 (LWP 29365)]
[New Thread 0x7fffd145f700 (LWP 29366)]
[New Thread 0x7fffcec5e700 (LWP 29367)]
[New Thread 0x7fffce45d700 (LWP 29368)]
[New Thread 0x7fffbbf5b700 (LWP 29369)]
[New Thread 0x7fffbb75a700 (LWP 29370)]
[New Thread 0x7fffbaf59700 (LWP 29371)]
[New Thread 0x7fffabfff700 (LWP 29372)]
[New Thread 0x7fffab7fe700 (LWP 29373)]
[Thread 0x7fffabfff700 (LWP 29372) exited]


   --- this is output from the OOT module, not using docker --
Looking for Metis/Hermes card on interface eth0
Interface[0]:lo  Interface[1]:eth0  Interface[2]:docker0
eth0 IP Address: 192.168.0.2
eth0 MAC Address: 90:b1:1c:6d:00:a7

[New Thread 0x7fffabfff700 (LWP 29375)]

Metis MAC address 00:04:A3:63:F9:8E
Metis IP address 192.168.0.7

gr::log :INFO: audio source - Audio sink arch: alsa
[New Thread 0x7fffa9518700 (LWP 29376)]
[New Thread 0x7fffa8d17700 (LWP 29377)]
[New Thread 0x7fff93ffd700 (LWP 29378)]
[New Thread 0x7fff937fc700 (LWP 29379)]
[New Thread 0x7fff92ffb700 (LWP 29380)]
[New Thread 0x7fff927fa700 (LWP 29381)]
[New Thread 0x7fff91ff9700 (LWP 29382)]
[New Thread 0x7fff917f8700 (LWP 29383)]
[New Thread 0x7fff90ff7700 (LWP 29384)]
[New Thread 0x7fff73fff700 (LWP 29385)]
[New Thread 0x7fff737fe700 (LWP 29386)]
[New Thread 0x7fff72ffd700 (LWP 29387)]
aUQt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.

terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

Thread 1 "python2" received signal SIGABRT, Aborted.
0x77825428 in __GI_raise (sig=sig@entry=6)
at ../sysdeps/unix/sysv/linux/raise.c:54
54../sysdeps/unix/sysv/linux/raise.c: No such file or directory.


(gdb) info threads
  Id   Target Id Frame
* 1Thread 0x77fb9700 (LWP 29361) "python2" 0x77825428 in
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
  2Thread 0x7fffdb463700 (LWP 29362) "python2"
pthread_cond_wait@@GLIBC_2.3.2
() at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  3Thread 0x7fffdac62700 (LWP 29363) "python2"
pthread_cond_wait@@GLIBC_2.3.2
() at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  4Thread 0x7fffd6461700 (LWP 29364) "python2"
pthread_cond_wait@@GLIBC_2.3.2
() at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  5Thread 0x7fffd5c60700 (LWP 29365) "python2"
pthread_cond_wait@@GLIBC_2.3.2
() at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  6Thread 0x7fffd145f700 (LWP 29366) "python2"
pthread_cond_wait@@GLIBC_2.3.2
() at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  7Thread 0x7fffcec5e700 (LWP 29367) "python2"
pthread_cond_wait@@GLIBC_2.3.2
() at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  8Thread 0x7fffce45d700 (LWP 29368) "python2"
pthread_cond_wait@@GLIBC_2.3.2
() at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  9Thread 0x7fffbbf5b700 (LWP 29369) "dconf worker" 0x778eb74d
in poll () at ../sysdeps/unix/syscall-template.S:84
  10   Thread 0x7fffbb75a700 (LWP 29370) "gmain" 0x778eb74d in poll
()
at ../sysdeps/unix/syscall-template.S:84
  11   Thread 0x7fffbaf59700 (LWP 29371) "gdbus" 0x778eb74d in poll
()
at ../sysdeps/unix/syscall-template.S:84
  13   Thread 0x7fffab7fe700 (LWP 29373) "pool" syscall ()
at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
  14   Thread 0x7fffabfff700 (LWP 29375) "python2" 0x77bca8f3 in
recvfrom () at ../sysdeps/unix/syscall-template.S:84
  15   Thread 0x7fffa951870

Re: [Discuss-gnuradio] QT Gui mem alloc error - runs OK if R, C hints deleted

2018-06-26 Thread CEL
Ah, I said:

>(gdb)break std::bad_alloc::what()⏎
> 
> (it should NOT complain that this symbol isn't already loaded. If it
> does, we might need to install the libststc++ debug symbols; haven't
> used Ubuntu in a while, but probably `apt install libstdc++-dbg` or
> `-dbgsym`

I was wrong, at that point it's totally OK to complain about missing
symbol. Just say it's OK to set the breakpoint on future library load.


On Tue, 2018-06-26 at 10:47 +, Müller, Marcus (CEL) wrote:
> Hi Tom!
> 
> Hm, no, I wouldn't be aware of any limitations, and even if such
> exist,
> things shouldn't die with a std::bad_alloc!
> 
> Ok, so I'm wondering how we can move forward with this. Let us try
> this:
> 
> * Can you share a proof of failure flow graph with us? That way,
> everyone's definitely talking about the same thing.
> * I assume you've got GNU Radio built with debug symbols (cmake
> -DCMAKE_BUILD_TYPE=RelWithDebInfo). This might even work if it
> wasn't,
> but the backtraces below might be less exciting.
> * you'll need gdb
> 
> gdb --args python2 /path/to/your/flowgraph.py⏎
> 
> (things flutter by)
> 
> (gdb)start⏎
> 
> (things flutter by)
> 
> (gdb)break std::bad_alloc::what()⏎
> 
> (it should NOT complain that this symbol isn't already loaded. If it
> does, we might need to install the libststc++ debug symbols; haven't
> used Ubuntu in a while, but probably `apt install libstdc++-dbg` or
> `-
> dbgsym`)
> 
> (gdb)run⏎
> 
> (wait for the breakpoint defined above to trigger)
> 
> (gdb)info threads⏎
> 
> (this is the list of currently existing threads. Copy and save.)
> 
> (gdb)bt⏎
> 
> (short for `backtrace`. Now we should be getting a list that's
> basically like "walking an onion from the middle to the peel", if
> you're onion layers are defined by who called a function which called
> a
> function...)
> 
> Share the output; if you look through it, the frame with the lowest
> number that already happens somewhere inside libgnuradio-qtgui
> probably
> contains info on where exactly that allocation happens that fails.
> 
> You can "jump" into that frame with `frame `, replacing
>  with the index given by # in the backtrace. If these
> variables/symbols weren't optimized away during compilation, you can
> even use `print ` to print the values of local and
> global
> variables, or use `list` to print the source code of what you're
> looking at (that definitely requires debug info to be included with
> GNU
> Radio's build).
> 
> Best regards,
> Marcus
> 
> On Mon, 2018-06-25 at 16:52 -0700, Tom McDermott wrote:
> > Ubuntu 16.04.3
> > GRC 3.7.11.1   (from git)
> > I was on 3.7.13 couple of weeks ago, completely removed all of
> > gnuradio
> > and rebuilt trying to debug this.  3.7.11.1 had same problem.
> > 
> > 
> > Got back to the problem of several weeks ago.
> > 
> > 1. When I try to use a QT GUI sink (such as frequency) the
> > invocation
> > of
> > the QT Gui Frequency sink in this example throws a memory
> > allocation
> > error.
> > 
> > Qt has caught an exception thrown from an event handler. Throwing
> > exceptions from an event handler is not supported in Qt. You must
> > reimplement QApplication::notify() and catch all exceptions there.
> > 
> > terminate called after throwing an instance of 'std::bad_alloc'
> >   what():  std::bad_alloc
> > 
> > 2. If I remove the Row, Column GUI hints from just that one QT GUI
> > item, then it
> > comes up and runs OK. The other 9 of the QT controls (sliders,
> > choosers, entry,
> > ranges) still have their R,C hints.
> > 
> > 3. Went back to the GRC file in step 1 that still has the R,C hints
> > in it
> > and it still fails with the error as shown in step 1.  It did come
> > up
> > and run
> > one time showing 'unable to set locale' error, but still
> > ran.  Never
> > seen that before.
> > 
> > 
> > Is there some limitation against using R,C hints on the QT displays
> > (time,
> > frequency, etc.)?
> > 
> > -- Tom, N5EG
> > 
> > 
> > 
> > 
> > ___
> > Discuss-gnuradio mailing list
> > Discuss-gnuradio@gnu.org
> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
> ___
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

smime.p7s
Description: S/MIME cryptographic signature
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] QT Gui mem alloc error - runs OK if R, C hints deleted

2018-06-26 Thread CEL
Hi Tom!

Hm, no, I wouldn't be aware of any limitations, and even if such exist,
things shouldn't die with a std::bad_alloc!

Ok, so I'm wondering how we can move forward with this. Let us try
this:

* Can you share a proof of failure flow graph with us? That way,
everyone's definitely talking about the same thing.
* I assume you've got GNU Radio built with debug symbols (cmake
-DCMAKE_BUILD_TYPE=RelWithDebInfo). This might even work if it wasn't,
but the backtraces below might be less exciting.
* you'll need gdb

gdb --args python2 /path/to/your/flowgraph.py⏎

(things flutter by)

(gdb)start⏎

(things flutter by)

(gdb)break std::bad_alloc::what()⏎

(it should NOT complain that this symbol isn't already loaded. If it
does, we might need to install the libststc++ debug symbols; haven't
used Ubuntu in a while, but probably `apt install libstdc++-dbg` or `-
dbgsym`)

(gdb)run⏎

(wait for the breakpoint defined above to trigger)

(gdb)info threads⏎

(this is the list of currently existing threads. Copy and save.)

(gdb)bt⏎

(short for `backtrace`. Now we should be getting a list that's
basically like "walking an onion from the middle to the peel", if
you're onion layers are defined by who called a function which called a
function...)

Share the output; if you look through it, the frame with the lowest
number that already happens somewhere inside libgnuradio-qtgui probably
contains info on where exactly that allocation happens that fails.

You can "jump" into that frame with `frame `, replacing
 with the index given by # in the backtrace. If these
variables/symbols weren't optimized away during compilation, you can
even use `print ` to print the values of local and global
variables, or use `list` to print the source code of what you're
looking at (that definitely requires debug info to be included with GNU
Radio's build).

Best regards,
Marcus

On Mon, 2018-06-25 at 16:52 -0700, Tom McDermott wrote:
> Ubuntu 16.04.3
> GRC 3.7.11.1   (from git)
> I was on 3.7.13 couple of weeks ago, completely removed all of
> gnuradio
> and rebuilt trying to debug this.  3.7.11.1 had same problem.
> 
> 
> Got back to the problem of several weeks ago.
> 
> 1. When I try to use a QT GUI sink (such as frequency) the invocation
> of
> the QT Gui Frequency sink in this example throws a memory allocation
> error.
> 
> Qt has caught an exception thrown from an event handler. Throwing
> exceptions from an event handler is not supported in Qt. You must
> reimplement QApplication::notify() and catch all exceptions there.
> 
> terminate called after throwing an instance of 'std::bad_alloc'
>   what():  std::bad_alloc
> 
> 2. If I remove the Row, Column GUI hints from just that one QT GUI
> item, then it
> comes up and runs OK. The other 9 of the QT controls (sliders,
> choosers, entry,
> ranges) still have their R,C hints.
> 
> 3. Went back to the GRC file in step 1 that still has the R,C hints
> in it
> and it still fails with the error as shown in step 1.  It did come up
> and run
> one time showing 'unable to set locale' error, but still ran.  Never
> seen that before.
> 
> 
> Is there some limitation against using R,C hints on the QT displays
> (time,
> frequency, etc.)?
> 
> -- Tom, N5EG
> 
> 
> 
> 
> ___
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

smime.p7s
Description: S/MIME cryptographic signature
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] QT Gui mem alloc error - runs OK if R, C hints deleted

2018-06-25 Thread Tom McDermott
Ubuntu 16.04.3
GRC 3.7.11.1   (from git)
I was on 3.7.13 couple of weeks ago, completely removed all of gnuradio
and rebuilt trying to debug this.  3.7.11.1 had same problem.


Got back to the problem of several weeks ago.

1. When I try to use a QT GUI sink (such as frequency) the invocation of
the QT Gui Frequency sink in this example throws a memory allocation error.

Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.

terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc

2. If I remove the Row, Column GUI hints from just that one QT GUI item,
then it
comes up and runs OK. The other 9 of the QT controls (sliders, choosers,
entry,
ranges) still have their R,C hints.

3. Went back to the GRC file in step 1 that still has the R,C hints in it
and it still fails with the error as shown in step 1.  It did come up and
run
one time showing 'unable to set locale' error, but still ran.  Never seen
that before.


Is there some limitation against using R,C hints on the QT displays (time,
frequency, etc.)?

-- Tom, N5EG
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio