El 21/01/18 a las 12:35, Daniel Estévez escribió: > El 21/01/18 a las 11:39, Daniel Estévez escribió: >> >> out[i+d_out_idx] = d_filters[d_filtnum]->filter(&in[count+d_out_idx]); >> > > Hi all, > > I've been looking at this again and the problem is that in this line, > > count = -134217704 > > for some weird reason. Obviously, this causes the SIGSEGV. > > I'll try to see why count gets corrupted.
Hi again, Problem solved. The cause was that before the PFB I had an AGC block that when feeding it a stream of 0's, it was performing 0/0 and so feeding a stream of nan's into the PFB. This makes all the loop calculations propagate the nan and all loop variables end up being nan, including d_k. Then, the line 449 in pfb_clock_sync_ccf_impl.cc, does d_filtnum = (int)floor(d_k); and since d_filtnum is an integer and after this line it is adjusted to the range [0, d_nfilters], modifying the count in the process, this causes count to become some weird value. So the problem was not with the PFB but with my previous block. However, I think that the PFB should have some protection against this. Regards, Daniel.
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio