discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Unhandled exception after upgrading gnuradio- bac


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] Unhandled exception after upgrading gnuradio- backtrace included
Date: Thu, 8 Mar 2012 14:26:22 -0500

On Thu, Mar 8, 2012 at 2:24 PM, Nick Foster <address@hidden> wrote:
On Thu, Mar 8, 2012 at 11:21 AM, Marcus D. Leech <address@hidden> wrote:
On 08/03/12 02:16 PM, Tom Rondeau wrote:
On Thu, Mar 8, 2012 at 1:22 PM, Marcus D. Leech <address@hidden> wrote:
On 08/03/12 01:11 PM, Nick Foster wrote:
> Rafiq,
>
> What CPU are you using for this test? Specifically, please send the
> output of "cat /proc/cpuinfo".
>
> --n
>
To add some more data, I tested the attached flow-graph on the only
remaining 32-bit machine in my herd.
 It provoked:

#0  0x0090d6b3 in volk_32fc_x2_multiply_32fc_a_sse3 ()
  from /usr/local/lib/libvolk.so.0.0.0
#1  0x008de0d5 in get_volk_32fc_x2_multiply_32fc_a ()
  from /usr/local/lib/libvolk.so.0.0.0
#2  0x00a8f517 in gri_fft_filter_ccc_generic::filter(int,
std::complex<float> const*, std::complex<float>*) ()
  from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
#3  0x00a967fb in gr_fft_filter_ccc::work(int, std::vector<void const*,
std::allocator<void const*> >&, std::vector<void*, std::allocator<void*>
>&) ()
  from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
#4  0x00a65eb7 in gr_sync_decimator::general_work(int, std::vector<int,
std::allocator<int> >&, std::vector<void const*, std::allocator<void
const*> >&, std::vector<void*, std::allocator<void*> >&) ()
  from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
#5  0x00a4d185 in gr_block_executor::run_one_iteration() ()
  from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
#6  0x00a688e3 in
gr_tpb_thread_body::gr_tpb_thread_body(boost::shared_ptr<gr_block>, int)
() from /usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
#7  0x00a62bfc in
boost::detail::function::void_function_obj_invoker0<gruel::thread_body_wrapper<tpb_container>,
void>::invoke(boost::detail::function::function_buffer&) () from
/usr/local/lib/libgnuradio-core-3.5.3git.so.0.0.0
#8  0x001b881c in boost::function0<void>::operator()() const ()
  from /usr/local/lib/libgruel-3.5.3git.so.0.0.0


This is on a Fedora-12 machine, here's /proc/cpuinfo

processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 14
model name    : Genuine Intel(R) CPU           T2400  @ 1.83GHz
stepping    : 8
cpu MHz        : 1000.000
cache size    : 2048 KB
physical id    : 0
siblings    : 2
core id        : 0
cpu cores    : 2
apicid        : 0
initial apicid    : 0
fdiv_bug    : no
hlt_bug        : no
f00f_bug    : no
coma_bug    : no
fpu        : yes
fpu_exception    : yes
cpuid level    : 10
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc
arch_perfmon bts aperfmperf pni monitor vmx est tm2 xtpr pdcm
bogomips    : 3657.49
clflush size    : 64
cache_alignment    : 64
address sizes    : 32 bits physical, 32 bits virtual
power management:

processor    : 1
vendor_id    : GenuineIntel
cpu family    : 6
model        : 14
model name    : Genuine Intel(R) CPU           T2400  @ 1.83GHz
stepping    : 8
cpu MHz        : 1000.000
cache size    : 2048 KB
physical id    : 0
siblings    : 2
core id        : 1
cpu cores    : 2
apicid        : 1
initial apicid    : 1
fdiv_bug    : no
hlt_bug        : no
f00f_bug    : no
coma_bug    : no
fpu        : yes
fpu_exception    : yes
cpuid level    : 10
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc
arch_perfmon bts aperfmperf pni monitor vmx est tm2 xtpr pdcm
bogomips    : 3657.54
clflush size    : 64
cache_alignment    : 64
address sizes    : 32 bits physical, 32 bits virtual
power management:


Well, there's your problem right there!

 flags        : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov
clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc
arch_perfmon bts aperfmperf pni monitor vmx est tm2 xtpr pdcm

Your CPU doesn't seem to support SSE3, which begs the question, why is it allowed to call the SSE3 proto-kernel?

Check your ~/.volk/volk_config to see what it says on that kernel (that is, if you have run volk_profile; if you haven't, run it first and see what happens).

Tom

The information in /proc/cpuinfo appears to be incorrect.   That particular CPU, the T2400, actually
  *does* support SSE3, according to the Intel datasheet, and other googled stuff out there.

The relevant line in the Volk archs.xml is correct, and it's looking for the correct bit in ECX to determine PNI/SSE3 capability. /proc/cpuinfo calls this "pni", or Prescott New Instructions, not SSE3.

--n

Damn... I should have remembered that...

Tom
 
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]