discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Segmentation fault


From: Jorge Hernandez
Subject: Re: [Discuss-gnuradio] Segmentation fault
Date: Wed, 22 Feb 2012 15:26:35 +0100

Hi,

Actually what I'm trying to do is a 2x1 MIMO, but I was trying to run the benchmark with its default set up to see if I had success with the merging. As you said, this segmentation fault must appear somewhere when trying to implement 2 receivers, when you adjust the parameters for 2 tx antennas and 1 rx antennas there is no problem to run it.

So, now I think I have this benchmark_ofm_mimo prepared to work I'm finding another problems...I am using two USRP2 with XCVR2450 daughterboards in the transmitter side and another one in the receiver side (less than 1 meter of distance between tx and rx). My first problem comes when setting the sample rate, I don't know if I should set the sample rate in the rx usrp as the sum of the two sample rates of the tx usrps, or it has nothing to do...Also, I've been reading the UHD/USRP2 application notes and I think I've got how to configure the slave usrp but I am not sure. I enclose my code so anyone who has any adviece can have a look at it. Appart from this issues, my heaviest problem is how to introduce an input into the transmission chain. I see how packets are made and sent in the benchmark_ofmd_mimo, but how should I proceed if I want to use my own source block (in my case it would be a wavfile source)? Thank you for your support, I will appreciate any help!

2012/2/20 Tom Rondeau <address@hidden>
On Mon, Feb 20, 2012 at 5:48 AM, Jorge Hernandez <address@hidden> wrote:
Hi all,

I've been working lately to get to work the mimo files from trondeau's branch. After some trials, I thought I've successfully merged the master branch into this branch so I could use the mimo files. However,  when trying to run the benchmark_mimo_ofdm.py file a segmentation fault is happening. I've been reading about this error but I don't know yet where it comes from. I've checked the "How do I debug GNU Radio in Python" from the FAQ to see what to do in this case. I've followed the 2 steps suggested in this point but I don't understand the results coming from the (gdb) backtrace. If anyone has experience with this problem or knows how to understand this message I would really appreciate any help. I enclose the messages I'm getting.

This is what it shows when trying to run benchmark_ofdm_mimo.py:

./benchmark_ofdm_mimo.py
linux; GNU C++ version 4.4.1 [gcc-4_4-branch revision 150839]; Boost_103900; UHD_003.004.000-122b947

27435
Press Enter to continue
Noise voltage:  4.472135955
Frequency offset:  0
Symbols per Packet:  16.0
Samples per Packet:  11520.0
>>> gr_fir_ccf: using 3DNow!
>>> gr_fir_ccc: using 3DNow!Ext
>>> gr_fir_fff: using 3DNow!
Transmitter using  1
Receiver using     2
x

After following the steps suggested it shows:

(gdb) backtrace
#0  gr_ofdm_alamouti_frame_acquisition::calculate_equalizer (this=0x1137c40, channel=<value optimized out>, symbol=<value optimized out>,
    zeros_on_left=<value optimized out>) at gr_ofdm_alamouti_frame_acquisition.cc:210
#1  0x00007f4b40673f67 in gr_ofdm_alamouti_frame_acquisition::general_work (this=0x1137c40, noutput_items=<value optimized out>,
    ninput_items=<value optimized out>, input_items=std::vector of length 3, capacity 3 = {...}, output_items=<value optimized out>)
    at gr_ofdm_alamouti_frame_acquisition.cc:245
#2  0x00007f4b40702c65 in gr_block_executor::run_one_iteration (this=0x7f4b187d7f20) at gr_block_executor.cc:378
#3  0x00007f4b407235c2 in gr_tpb_thread_body::gr_tpb_thread_body (this=<value optimized out>, block=...) at gr_tpb_thread_body.cc:49
#4  0x00007f4b4071c20c in boost::detail::function::void_function_obj_invoker0<gruel::thread_body_wrapper<tpb_container>, void>::invoke(boost::detail::function::function_buffer&) () from /usr/local/lib64/libgnuradio-core-3.4.2git.so.0
#5  0x00007f4b4010cd64 in boost::function0<void>::operator() (this=<value optimized out>) at /usr/include/boost/function/function_template.hpp:989
#6  0x00007f4b3fce1010 in thread_proxy () from /usr/lib64/libboost_thread.so.1.39.0
#7  0x00007f4b415d665d in start_thread () from /lib64/libpthread.so.0
#8  0x00007f4b40ce9ecd in clone () from /lib64/libc.so.6
#9  0x0000000000000000 in ?? ()

Thanks in advance,

Jorge

Hi Jorge,
So what that backtrace is telling you is on the #0 line that the seg fault is occurring here:
gr_ofdm_alamouti_frame_acquisition.cc:210

So it's that file, line 210.

All that does is narrow your search down for where it's going wrong, but this one isn't going to tell you what's wrong with it.

So you're doing a 1x2 code. I know when Matt and I left off with this branch, there were some definite issues, and this might just be one of them. Have you tried to do a 2x1 MIMO? I'm pretty sure we had that working. I can't really remember...

I'm afraid I can't help you more right now, yo're going to have to look into that file and try to figure out why it's segfaulting one you. But, thanks for reading over the FAQ and posting the back trace! And you figured out how to merge those two branches, so it sounds like you're heading in the right direction!

Tom



reply via email to

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