[Top][All Lists]

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

GNU Radio Companion Crashing

From: Jeff S
Subject: GNU Radio Companion Crashing
Date: Wed, 28 Jul 2021 14:03:00 +0000

I was playing around with the tutorial located at 
https://wiki.gnuradio.org/index.php/Guided_Tutorial_PSK_Demodulation and it 
refers to mpsk_stage6.grc.  I loaded that, and went back to using the CMA 
Equalizer (because I'm using v3.8.2.0-112-ge20ffa3c (Python 3.6.9), Ubuntu 
18.04).  I don't have a problem on this system.

When I attempt to open the flow graph on another system (v3.8.3.1-8-g4d06c91d 
(Python 3.6.9), Ubuntu 18.04), GNU Radio Companion crashes:

  (gnuradio-companion:25756): Gdk-ERROR **: 08:42:56.288: The program 
'gnuradio-companion' received an X Window System error.  
  This probably reflects a bug in the program.
  The error was 'BadAlloc (insufficient resources for operation)'.
    (Details: serial 79427 error_code 11 request_code 130 (MIT-SHM) minor_code 
    (Note to programmers: normally, X errors are reported asynchronously;
     that is, you will receive the error a while after causing it.
     To debug your program, run it with the GDK_SYNCHRONIZE environment
     variable to change this behavior. You can then get a meaningful
     backtrace from your debugger if you break on the gdk_x_error() function.)
  Trace/breakpoint trap (core dumped)

I traced it to a variable defined in the flow graph, rrc_taps, which is defined 

firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), 0.35, 11*sps*nfilts)

Whenever the rrc_taps variable is updated in GRC, GRC will crash.  When I run 
this in python3:

>>> from gnuradio.filter import firdes
>>> nfilts=32
>>> sps=4
>>> rrc_taps=firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), 0.35, 
>>> 11*sps*nfilts)
>>> len(rrc_taps)

It seems like a lot of taps.  And I'm now wondering how the example relates to 
API Reference:

    static std::vector< float >         root_raised_cosine (double gain, double 
sampling_freq, double symbol_rate, double alpha, int ntaps)

If I replace the variable with something like:

    firdes.root_raised_cosine(1.0, samp_rate, 1.0/float(sps), 0.35, nfilts)

GNU Radio Companion doesn't crash.  The above returns a len(rrc_taps) of 33, 
and I didn't put a lot of thought into the parameters yet because I was focused 
on GRC not crashing.

I suppose I may have a workaround, but I would be interested if there's a known 
problem with the example root_raised_cosine() parameters, or if there may be 
something else I may be missing.


reply via email to

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