What version of Gnu Radio is this?I have attached a png of the flow graph and the error msgs from the system log are below. These error messages are the only messages.
Oct 29 10:45:26 tf abrt-hook-ccpp[378]: /var/spool/abrt is 23611049718 bytes (more than 1279MiB), deleting 'ccpp-2020-10-27-15:30:43-28474'
Oct 29 10:45:07 tf abrt-hook-ccpp[378]: Process 329 (python2.7) of user 1000 killed by SIGSEGV - dumping core
Oct 29 10:45:07 tf audit[370]: ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=8656 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=370 comm="copy11" exe="/usr/bin/Oct 29 10:45:07 tf audit[369]: ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=8656 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=369 comm="analysis_sink_1" exe="Oct 29 10:45:07 tf kernel: traps: copy11[370] general protection ip:7f9e0acfdee0 sp:7f9c5a7fb590 error:0 in libpthread-2.22.so[7f9e0acf1000+18000]
Oct 29 10:45:07 tf kernel: analysis_sink_1[369]: segfault at 7f9c5a7fd000 ip 00007f9dd9361d43 sp 00007f9c5a48a638 error 6 in libgnuradio-vandevender.so[7f9dd9336000+4d000]Flow is USRP -> stream to vector -> fft -> complex to mag -> bin_sub_avg -> analysis_sinkf
bin_sub_avg (python) & analysis_sinkf (c/c++) are custom blocks.
the function of Bin Sub Avg, which is written in Python, is to start a background task which periodically (in this case hourly) samples the input signal, calculates the background noise and subtracts it from the signal that is passed the the Analysis_sinkf module.
Analys_sinkf monitors each bin and only when specific thresholds for the bin are met (ie duration, strength) is the signal written out to a signal file. Signals not passing the criteria are dropped.
This code base has been running for over 3 years, with the original system implementation about 8/9 years ago.
I have traced the problem to the input signal into bin_sub_avg when the number of fft bins is 3 million (2 million works). At 3 million bins, any reference to the result of the delete_head() function in the python code causes a failure. The python code just fails without a traceback, then the invalid data stream is passed to the analysis_sinkf module which is C/C++ and it causes the segment fault.
Thus my suspicion is there is a limit in the fft block on the number of bins it can handle and some variable is overflowing, but this is a guess at this point. There may be a restriction in the gr.signature_io module, but that seems unlikely.
Read the mailing list of the GNU project right here! The information here is regarding the GNU radio project for USRP radios.
Thursday, October 29, 2020
Re: Maximum Number of Bins
On 10/29/2020 01:17 PM, Criss Swaim wrote:
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment