discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Segfault in Polyphase clock sync block


From: Sakthivel Velumani
Subject: Re: [Discuss-gnuradio] Segfault in Polyphase clock sync block
Date: Sun, 21 Jan 2018 12:01:31 +0100

Hi Daniel,

The pfb block sets history() to ensure sufficient amount of input items are available. Can you provide information on arguments passed to the pfb block like sps, taps and no. of filters?

Best,
Sakthivel

On Sun, Jan 21, 2018 at 11:39 AM, Daniel Estévez <address@hidden> wrote:
Hi all,

I'm using a Polyphase clock sync block in one of my flowgraphs
(https://github.com/daniestevez/gr-satellites/blob/master/apps/picsat.grc)
and I'm getting a segmentation fault when running the flowgraph.

Using GDB, the problem seems to be in the Polyphase clock
implementation, when filtering is done via fir_filter_ccf (see the
backtrace below).

I've studied a bit pfb_clock_sync_ccf_impl::general_work() and I have
the impression that the line

out[i+d_out_idx] = d_filters[d_filtnum]->filter(&in[count+d_out_idx]);

might run into problems if there are not enough samples in the input
buffer, since filter() assumes you pass as many samples as taps are in
the filter.

The pfb_clock_sync_ccf_impl::general_work() doesn't ever look at
ninput_items to check how much output can be produced with the input
given, so I'm not even sure how it manages to run correctly in many
other cases (I've had no problems with Polyphase clock in many other
flowgraphs).

Regards,

Daniel.

-----------
BACKTRACE


#0  volk_32fc_32f_dot_prod_32fc_a_avx (result=0x555556735100,
input=<optimized out>, taps=0x55555673c5a0, num_points=89)
    at
/usr/src/debug/net-wireless/gnuradio-9999/gnuradio-9999/volk/kernels/volk/volk_32fc_32f_dot_prod_32fc.h:138
#1  0x00007fffe9b61119 in gr::filter::kernel::fir_filter_ccf::filter
(this=0x555556734f00, address@hidden0x7fffa4804d80)
    at
/usr/src/debug/net-wireless/gnuradio-9999/gnuradio-9999/gr-filter/lib/fir_filter.cc:232
#2  0x00007fffea15266b in
gr::digital::pfb_clock_sync_ccf_impl::general_work (this=0x555556730080,
noutput_items=16, ninput_items=..., input_items=...,
    output_items=std::vector of length 1, capacity 1 = {...}) at
/usr/src/debug/net-wireless/gnuradio-9999/gnuradio-9999/gr-digital/lib/pfb_clock_sync_ccf_impl.cc:465
#3  0x00007ffff5d48608 in gr::block_executor::run_one_iteration
(address@hidden0x7fffbeffcdd0)
    at
/usr/src/debug/net-wireless/gnuradio-9999/gnuradio-9999/gnuradio-runtime/lib/block_executor.cc:451
#4  0x00007ffff5d927c8 in gr::tpb_thread_body::tpb_thread_body
(this=0x7fffbeffcdd0, 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:123
#5  0x00007ffff5d86ac4 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
#6  gr::thread::thread_body_wrapper<gr::tpb_container>::operator()
(this=0x555556776120)
    at
/usr/src/debug/net-wireless/gnuradio-9999/gnuradio-9999/gnuradio-runtime/include/gnuradio/thread/thread_body_wrapper.h:51
#7
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
#8  0x00007ffff5d33f42 in boost::function0<void>::operator()
(this=<optimized out>) at
/usr/include/boost/function/function_template.hpp:771
#9  boost::detail::thread_data<boost::function0<void> >::run
(this=<optimized out>) at /usr/include/boost/thread/detail/thread.hpp:116
#10 0x00007ffff4a9994d in ?? () from /usr/lib64/libboost_thread.so.1.63.0
#11 0x00007ffff77de677 in start_thread () from /lib64/libpthread.so.0
#12 0x00007ffff751ec7f in clone () from /lib64/libc.so.6

_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

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