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 <mar...@hostalia.de> 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 <mar...@hostalia.de> >> 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 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 > -----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----- _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio