discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] Async FEC Viterbi abort/sigsegv


From: Daniel Estévez
Subject: [Discuss-gnuradio] Async FEC Viterbi abort/sigsegv
Date: Wed, 21 Mar 2018 23:27:40 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

Hi all,

I'm using the Aync FEC decoder block to do Viterbi decoding on some of
my gr-satellites flowgraphs. Depending on the input message size, I'm
getting aborts or sigsegvs regarding malloc() and memory corruption.

I have been able to isolate the problem and produce the attached GRC
flowgraph. It seems that it fails for packet sizes of the form
(10*k+3)*8 and works OK for other packet sizes.

When running this flowgraph I get the following error:

python2: malloc.c:2369: sysmalloc: Assertion `(old_top == initial_top
(av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE &&
prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) ==
0)' failed.

See the backtrace under GDB attached below.

I haven't had much time to try to study the problem. I'm running GNU
Radio from the git master (compiled yesterday, with debugging symbols).

Could anyone else try to replicate this problem? It might be caused by
something other than GNU Radio in my system.


Best regards,

Daniel.


------

#0  0x00007ffff745ef00 in raise () from /lib64/libc.so.6
#1  0x00007ffff7460baa in abort () from /lib64/libc.so.6
#2  0x00007ffff74a8f78 in ?? () from /lib64/libc.so.6
#3  0x00007ffff74aac66 in ?? () from /lib64/libc.so.6
#4  0x00007ffff74abb5c in ?? () from /lib64/libc.so.6
#5  0x00007ffff74ad6d4 in malloc () from /lib64/libc.so.6
#6  0x00007ffff4d08688 in operator new(unsigned long) () from
/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/libstdc++.so.6
#7  0x00007ffff547a589 in __gnu_cxx::new_allocator<unsigned
char>::allocate (this=0x7fffc800b8b0, __n=166)
    at
/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/ext/new_allocator.h:104
#8  std::allocator_traits<std::allocator<unsigned char> >::allocate
(__a=..., __n=166) at
/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/bits/alloc_traits.h:436
#9  std::_Vector_base<unsigned char, std::allocator<unsigned char>
>::_M_allocate (this=0x7fffc800b8b0, __n=166)
    at
/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/bits/stl_vector.h:170
#10 std::_Vector_base<unsigned char, std::allocator<unsigned char>
>::_M_create_storage (__n=166, this=0x7fffc800b8b0)
    at
/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/bits/stl_vector.h:185
#11 std::_Vector_base<unsigned char, std::allocator<unsigned char>
>::_Vector_base (__a=..., __n=166, this=0x7fffc800b8b0)
    at
/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/bits/stl_vector.h:136
#12 std::vector<unsigned char, std::allocator<unsigned char> >::vector
(__a=..., __n=166, this=0x7fffc800b8b0)
    at
/usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/include/g++-v6/bits/stl_vector.h:280
#13 pmt::pmt_u8vector::pmt_u8vector (this=0x7fffc800b8a0, k=166, fill=0
'\000')
    at
/usr/src/debug/net-wireless/gnuradio-9999/gnuradio-9999_build/gnuradio-runtime/lib/pmt/pmt_unv.cc:44
#14 0x00007ffff547aace in pmt::make_u8vector (address@hidden,
address@hidden '\000')
    at
/usr/src/debug/net-wireless/gnuradio-9999/gnuradio-9999_build/gnuradio-runtime/lib/pmt/pmt_unv.cc:109
#15 0x00007fffe792b3c1 in gr::fec::async_decoder_impl::decode_unpacked
(this=0x555556650590, msg=...)
    at
/usr/src/debug/net-wireless/gnuradio-9999/gnuradio-9999/gr-fec/lib/async_decoder_impl.cc:144
#16 0x00007fffe792df91 in boost::_mfi::mf1<void,
gr::fec::async_decoder_impl, boost::intrusive_ptr<pmt::pmt_base>
>::operator() (a1=..., p=0x555556650590, this=0x555556647460)
    at /usr/include/boost/bind/mem_fn_template.hpp:165
#17 boost::_bi::list2<boost::_bi::value<gr::fec::async_decoder_impl*>,
boost::arg<1> >::operator()<boost::_mfi::mf1<void,
gr::fec::async_decoder_impl, boost::intrusive_ptr<pmt::pmt_base> >,
boost::_bi::rrlist1<boost::intrusive_ptr<pmt::pmt_base> > >
(a=<synthetic pointer>..., f=..., this=0x555556647470) at
/usr/include/boost/bind/bind.hpp:319
#18 boost::_bi::bind_t<void, boost::_mfi::mf1<void,
gr::fec::async_decoder_impl, boost::intrusive_ptr<pmt::pmt_base> >,
boost::_bi::list2<boost::_bi::value<gr::fec::async_decoder_impl*>,
boost::arg<1> > >::operator()<boost::intrusive_ptr<pmt::pmt_base>
>(boost::intrusive_ptr<pmt::pmt_base>&&) (a1=<optimized out>,
this=0x555556647460)
    at /usr/include/boost/bind/bind.hpp:1306
#19
boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,
boost::_mfi::mf1<void, gr::fec::async_decoder_impl,
boost::intrusive_ptr<pmt::pmt_base> >,
boost::_bi::list2<boost::_bi::value<gr::fec::async_decoder_impl*>,
boost::arg<1> > >, void, boost::intrusive_ptr<pmt::pmt_base> >::invoke
(function_obj_ptr=..., a0=...)
    at /usr/include/boost/function/function_template.hpp:159
#20 0x00007fffe7927745 in boost::function1<void,
boost::intrusive_ptr<pmt::pmt_base> >::operator() (a0=...,
this=<optimized out>)
    at /usr/include/boost/function/function_template.hpp:760
#21 gr::basic_block::dispatch_msg (this=0x5555566505f8, which_port=...,
msg=...)
    at
/usr/src/debug/net-wireless/gnuradio-9999/gnuradio-9999/gnuradio-runtime/include/gnuradio/basic_block.h:134
#22 0x00007ffff575d633 in gr::tpb_thread_body::tpb_thread_body
(this=0x7fffdf7fddd0, block=..., start_sync=...,
max_noutput_items=<optimized out>)
    at
/usr/src/debug/net-wireless/gnuradio-9999/gnuradio-9999/gnuradio-runtime/lib/tpb_thread_body.cc:165
#23 0x00007ffff5750774 in gr::tpb_container::operator() (this=<optimized
out>, this=<optimized out>, this=<optimized out>, this=<optimized out>)
    at
/usr/src/debug/net-wireless/gnuradio-9999/gnuradio-9999/gnuradio-runtime/lib/scheduler_tpb.cc:46
#24 gr::thread::thread_body_wrapper<gr::tpb_container>::operator()
(this=0x555556670370)
    at
/usr/src/debug/net-wireless/gnuradio-9999/gnuradio-9999/gnuradio-runtime/include/gnuradio/thread/thread_body_wrapper.h:51
#25
boost::detail::function::void_function_obj_invoker0<gr::thread::thread_body_wrapper<gr::tpb_container>,
void>::invoke (function_obj_ptr=...)
    at /usr/include/boost/function/function_template.hpp:159
#26 0x00007ffff56fd912 in boost::function0<void>::operator()
(this=<optimized out>) at
/usr/include/boost/function/function_template.hpp:760
#27 boost::detail::thread_data<boost::function0<void> >::run
(this=<optimized out>) at /usr/include/boost/thread/detail/thread.hpp:116
#28 0x00007ffff3ffaf9d in ?? () from /usr/lib64/libboost_thread.so.1.65.0
#29 0x00007ffff77e08b7 in start_thread () from /lib64/libpthread.so.0
#30 0x00007ffff7522c2f in clone () from /lib64/libc.so.6

Attachment: test_async_fec.grc
Description: application/gnuradio-grc

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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