libblas.so.3 illegal instruction on AMD E-450

Bug #1117335 reported by Nghia
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
atlas (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Xubuntu 12.10 64bit
libblas3 1.2.20110419-5

Doing a basic matrix multiply in Octave will crash with "panic: Illegal instruction" on a laptop with an AMD E-450 APU on a HP Pavilion DM1. These are the commands used in Octave:

A = rand(3,3);
A*A

Running gdb on a custom program reveals the crash occurs with this function in libblas
dgemm_otcopy_BARCELONA() from /usr/lib/libblas3.so

I suspect it's an assembly instruction not supported by this CPU.

Revision history for this message
Nghia (nghiaho12) wrote :
Revision history for this message
Dave Gilbert (ubuntu-treblig) wrote :

Interesting, I noticed bug 1122030 today - not sure if it's related.

Since you have it at a gdb, could you do:

x/i $pc

at the point it fails (possibly the disassemble command may work) to see what the instruction is.

Also can you post the output of cat /proc/cpuinfo on your machine to see what the CPU claims to support.

Dave

Changed in blas (Ubuntu):
status: New → Incomplete
Revision history for this message
Nghia (nghiaho12) wrote :

It must be the same bug as reported there. I executed your commands and it says "femms".

This is the output from /proc/cpuinfo

processor : 0
vendor_id : AuthenticAMD
cpu family : 20
model : 2
model name : AMD E-450 APU with Radeon(tm) HD Graphics
stepping : 0
microcode : 0x5000101
cpu MHz : 825.000
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 6
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt arat hw_pstate npt lbrv svm_lock nrip_save pausefilter
bogomips : 3292.93
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor : 1
vendor_id : AuthenticAMD
cpu family : 20
model : 2
model name : AMD E-450 APU with Radeon(tm) HD Graphics
stepping : 0
microcode : 0x5000101
cpu MHz : 825.000
cache size : 512 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 6
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt arat hw_pstate npt lbrv svm_lock nrip_save pausefilter
bogomips : 3292.93
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

Revision history for this message
Sylvestre Ledru (sylvestre) wrote :

It is not about blas but atlas (libblas is just a symlink).

You should rebuild atlas for your system. By default, Debian (and therefor Ubuntu) are shipping a low performance compilation of atlas.
You will find the information in the README.Debian file.

affects: blas (Ubuntu) → atlas (Ubuntu)
Revision history for this message
Dave Gilbert (ubuntu-treblig) wrote :

Hi Sylvestre,
  Can you explain your comment a bit; libblas for me is not a symlink; and as for the low performance compilation; it seems to the opposite problem in this case - it's trying to run a barcelona optimised version of the code that is using an instruction not available on this cpu.

Dav

Changed in atlas (Ubuntu):
status: Incomplete → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.