discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] constellation soft decoder


From: Miklos Maroti
Subject: Re: [Discuss-gnuradio] constellation soft decoder
Date: Mon, 16 Dec 2013 14:16:41 +0100

Hi Marcus,

Ok, that makes sense. It does not crash with QPSK, but it does with
BPSK and 8PSK, and BPSK and 8PSK do not set the pre_diff_code. This
explains why there is crash in one case and not the other. Although
neither sets the apply_pre_diff_code, so even QPSK should not set
pre_diff_code.

I think the real problem is in constellation::calc_soft_dec. I does
not check whether d_apply_pre_diff_code is set or not.

(By the way, I do not understand the usefulness of pre_diff_code. Can
you just permute the constellation points and get the same effect?)

Miklos

On Mon, Dec 16, 2013 at 1:34 PM, Marcus Müller <address@hidden> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Well, after having a debug build and then adding a lot of "volatile"s
> into the code at the crashing function, it looks as if the
> d_pre_diff_code of the constellation has size 0; and thus, you can't
> access the 0. (read: first) element. How this could happen with a QPSK
> object is currently subject to my confusion. Stay tuned for more
> confusing facts as the code unfolds :).
>
> Greetings,
> Marcus
>
> On 16.12.2013 08:30, Miklos Maroti wrote:
>> Hi Marcus,
>>
>> I do not think it is a compiler bug, but something uninitialized.
>> Constellation_qpsk and constellation_calcdist does not crash (I
>> did not verify if they work). However, if I generate the LUT for
>> constellation_qpsk, then it crashes.
>>
>> # uname -a Linux maroti-t410 3.11.0-14-generic #21-Ubuntu SMP Tue
>> Nov 12 17:04:55 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
>>
>> # gcc --version gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
>>
>> Using latest master branch of gnuradio, hash 117058bac41c91, both
>> CMAKE_BUILD_TYPE=Debug and Release produces the same behavior
>>
>> # gdb `which python` core Reading symbols from
>> /usr/bin/python2.7...(no debugging symbols found)...done.
>>
>> warning: core file may not match specified executable file. [New
>> LWP 2249] [New LWP 2251] [New LWP 2240] [New LWP 2248] [New LWP
>> 2247] [New LWP 2239] [New LWP 2250]
>>
>> warning: Can't read pathname for load map: Input/output error.
>> [Thread debugging using libthread_db enabled] Using host
>> libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
>> Core was generated by `python ./constellation_simulation.py'.
>> Program terminated with signal 11, Segmentation fault. #0
>> 0x00007f98dbbe01a7 in gr::digital::constellation::calc_soft_dec (
>> this=0x48321c0, sample=..., npwr=<optimized out>) at
>> /home/mmaroti/workspace/gnuradio/gr-digital/lib/constellation.cc:286
>>
>>
> 286        for(int j = 0; j < k; j++) {
>>
>> i stack #0  0x00007f98dbbe01a7 in
>> gr::digital::constellation::calc_soft_dec ( this=0x48321c0,
>> sample=..., npwr=<optimized out>) at
>> /home/mmaroti/workspace/gnuradio/gr-digital/lib/constellation.cc:286
>>
>>
> #1  0x00007f98dbbe0f7e in gr::digital::constellation::soft_decision_maker (
>> this=0x48321c0, sample=...) at
>> /home/mmaroti/workspace/gnuradio/gr-digital/lib/constellation.cc:355
>>
>>
> #2  0x00007f98dbbe94dc in
>> gr::digital::constellation_soft_decoder_cf_impl::work
>> (this=0x4fb11a0, noutput_items=8190, input_items=...,
>> output_items=...) at
>> /home/mmaroti/workspace/gnuradio/gr-digital/lib/constellation_soft_decoder_cf_impl.cc:68
>>
>>
> #3  0x00007f98e1c5dd38 in gr::sync_interpolator::general_work (
>> this=0x4fb11c0, noutput_items=<optimized out>, ninput_items=...,
>> input_items=..., output_items=...) at
>> /home/mmaroti/workspace/gnuradio/gnuradio-runtime/lib/sync_interpolator.cc:67
>>
>>  You should be able to reproduce the problem quite easily, but if
>> needed I can provided a test program.
>>
>> Best, Miklos
>>
>> On Mon, Dec 16, 2013 at 7:59 AM, Marcus Müller <address@hidden>
>> wrote:
>>> Could you post the whole backtrace (as a github gist, pastebin
>>> etc)? That would be very helpful, along with information such
>>> as: Compiler (Gcc (version), VC++, clang ...), Platform (Linux,
>>> win, mac,...), architecture (x86(64), ARMv9, IBM S7390,...) and
>>> GNU Radio source version.
>>>
>>> Thanks and happy hacking, Marcus
>>>
>>> On 12/16/2013 01:05 AM, Miklos Maroti wrote:
>>>>
>>>> Hi Guys,
>>>>
>>>> Constellation soft decoder crashes for constellation_bpsk()
>>>> and constellation_8psk(). I could not find the cause of this
>>>> problem, the back trace on my machine points to
>>>>
>>>> gnuradio/gr-digital/lib/constellation.cc:286 for(int j = 0; j <
>>>> k; j++) {
>>>>
>>>> which does not make any sense. Any idea what could go wrong?
>>>>
>>>> Miklos
>>>>
>>>> _______________________________________________
>>>> 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
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.15 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>
> iQEcBAEBAgAGBQJSrvNkAAoJEAFxB7BbsDrLTuIIAKGc2OjoUYgV3Lw8SuarcCjb
> awWSZUC+jGxiOs5meaDOcfVsR8Viv9D0G98s6Ck0U6uHkJ1GPvzLLkRbxonPEhcB
> syFs4Uz4nhqYddfuiNTyG4LhWXPWC3i/rm53lngIO50zBRelrGwxWIg4y5VyKwfV
> JZfQ3duH+4JBe81VNuUw9Cb6/xhxHORD65AhnwOQBYU4w1mIrP1kNokfsFkXK/WN
> e55jg+inffiRAg47Bz5wl0SsYGFrlNRNq+JnEmCMCR74c5xNE8T3ZO/NfDGxEwjl
> fqXhY3ZpWqcoFOnizepUs8qvdzosveaFYKF+R474IkoBGZxUMn0Q5d+GxNAhxj4=
> =G4mf
> -----END PGP SIGNATURE-----



reply via email to

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