I am working on a new application of gnuradio that pushes the limits--satellite-based detection of RF from rotating magnetized-quark-nugget dark matter transiting through the magnetosphere--and need as many bins as possible to reduce the background noise per frequency channel.
I have successfully run with 2 million bins, but when I jump to 3 million bins, the application abends with a segment fault. I have deconstructed the following python line in a custom python block that is failing: > raw_samps = numpy.fromstring(self._msgq.delete_head().to_string(), > numpy.float32) and the failure is occurring while trying to convert the results from the delete_head() to a string (to_string()). Any reference to the result of the delete_head() functions results in an error. the _msgq is defined as _msgq = gr.msg_queue(MSGQ_LIMIT) where the MSGQ_LIMIT = 2 Here is the refactored code: > # refactor raw_samps line test_str = self._msgq.delete_head() > print("bin_sub_avg::got msg " > sys.stdout.flush() > print(test_str) > sys.stdout.flush() test_string = test_str.to_string() > print("bin_sub_avg::converted msg to string") > sys.stdout.flush() > raw_samps = numpy.fromstring(test_string, numpy.float32) > print("bin_sub_avg::converted from string to numpy array") > sys.stdout.flush() The output is: bin_sub_avg::got msg "the object for the shared pointer - test_str" (I did not save the exact message) Then the application aborts. Is there a limit on the number of bins gnuradio can handle? Any thoughts on how to find the cause or limit? -- Criss Swaim csw...@tpginc.net cell: 505.301.5701