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.


Attachment: signature.asc
Description: OpenPGP digital signature

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

Reply via email to