There is infinite “while” cycle in volk/tmpl/volk_cpu.tmpl.c function
“has_neon” (line 111).
Code “while(!found_neon && auxvec_f) {” will loop infinitely if there
is no neon in platform. found_neon will never be true and file
descriptor auxvec_f will always be true.
Or might be better to test ‘if(r < 2)’ after the fread line and break
in case an error occurs and we only get 1 character out and not try to
read from it again. Probably not a bit deal since we’re only reading
in two chars at a time.
(gdb) run
Starting program: /root/gnuradio-3.6.5.1/build/volk/lib/test_all
[Thread debugging using libthread_db enabled]
Using host libthread_db library
“/lib/arm-linux-gnueabihf/libthread_db.so.1”. Running 92 test cases…
Using Volk machine: generic_orc
RUN_VOLK_TESTS: volk_16ic_s32f_deinterleave_real_32f_a
no architectures to test
RUN_VOLK_TESTS: volk_16ic_deinterleave_real_8i_a
generic completed in 0s
orc completed in 0.01s
Best arch: generic
RUN_VOLK_TESTS: volk_16ic_deinterleave_16i_x2_a
generic completed in 0s
orc completed in 0s
Best arch: generic
RUN_VOLK_TESTS: volk_16ic_s32f_deinterleave_32f_x2_a
generic completed in 0.01s
Program received signal SIGSEGV, Segmentation fault.
0xb6f96428 in ?? () from /usr/lib/arm-linux-gnueabihf/libvolk.so.0.0.0
(gdb) bt #0 0xb6f96428 in ?? () #from /usr/lib/arm-linux-gnueabihf/libvolk.so.0.0.0
Cannot access memory at address 0x0 #1 0xb6db3da0 in pthread_mutex_unlock () #from /lib/arm-linux-gnueabihf/libc.so.6 2 0x00000020 in ?? () #3 0x00000020 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt
stack?)
P.S. I’m trying to compile gnuradio on raspbian on Raspberry Pi board.
All other tests passed ok, so some broken volk function shouldn’t be a
problem for me since I only want to use network sink on it.
Or might be better to test ‘if(r < 2)’ after the fread line and break
in case an error occurs and we only get 1 character out and not try to
read from it again. Probably not a bit deal since we’re only reading
in two chars at a time.
RUN_VOLK_TESTS: volk_16ic_s32f_deinterleave_real_32f_a
generic completed in 0.01s
Backtrace stopped: previous frame identical to this frame (corrupt
stack?)
P.S. I’m trying to compile gnuradio on raspbian on Raspberry Pi board.
All other tests passed ok, so some broken volk function shouldn’t be a
problem for me since I only want to use network sink on it.
Hi Alexey,
Yeah, you shouldn’t care too much about Volk on the Raspberry Pi since
there’s nothing optimized for that platform. You just need to make
sure all call to Volk work using the ‘generic’ proto-kernels (in other
words, you need Volk because we use functions from the library in GNU
Radio, but you won’t access any of the SIMD-optimized versions of the
code).
To learn more about the QA failure above, it’d be better to build with
debug symbols on (-DCMAKE_BUILD_TYPE=“Debug”) to get more information
out of that back trace.
Tom
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.