Bug#690671: libatlas3-base: /usr/lib/atlas-base/atlas/libblas.so.3.0: Illegal instruction ATL_dJIK52x52x52TN52x52x0_a1_b1 on i686: Intel Core Duo

Russell Haley bogons at tamu.edu
Tue Oct 16 09:48:15 UTC 2012


Package: libatlas3-base
Version: 3.8.4-9
Severity: important

Dear Maintainer,

Matrix multiplication fails with an illegal instruction for matricies larger than
51x51.  The python script detect_cpu_extensions (http://projects.scipy.org/scipy/attachment/ticket/1170/detect_cpu_extensions)
reports use of 3dnow, which my CPU does not support.

See following simple program to replicate the problem, detect_cpu_extensions output, 
gdb output, and /proc/cpuinfo.


-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.6.2ghasthawk-custom-1 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libatlas3-base depends on:
ii  libc6         2.13-35
ii  libgcc1       1:4.7.2-4
ii  libgfortran3  4.7.2-4

libatlas3-base recommends no packages.

Versions of packages libatlas3-base suggests:
ii  liblapack3  3.4.1-6

-- no debconf information

*** /tmp/octave-bench/blastest/blastest.c

#include<cblas.h>
#define N 52
int main()
{
   double A[N*N],B[N*N],C[N*N];
   cblas_dgemm(CblasColMajor,CblasNoTrans,CblasNoTrans,N,N,N,1.0,A,N,B,N,1.0,C,N);
   return 0;
}


*** /tmp/octave-bench/bugreport/cpu-extensions.txt
/usr/lib/atlas-base/atlas/libblas.so.3: 3dnow mmx sse sse2


*** /tmp/octave-bench/bugreport/gdb.txt
$ gdb ./blastest 
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /tmp/octave-bench/blastest/blastest...done.
(gdb) run
Starting program: /tmp/octave-bench/blastest/blastest 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
0xb7d76fc9 in ATL_dJIK52x52x52TN52x52x0_a1_b1 () from /usr/lib/libblas.so.3


*** /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 14
model name	: Genuine Intel(R) CPU           T2050  @ 1.60GHz
stepping	: 8
microcode	: 0x39
cpu MHz		: 1600.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 sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon bts aperfmperf pni monitor est tm2 xtpr pdcm dtherm
bogomips	: 3193.02
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           T2050  @ 1.60GHz
stepping	: 8
microcode	: 0x39
cpu MHz		: 1600.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 sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx constant_tsc arch_perfmon bts aperfmperf pni monitor est tm2 xtpr pdcm dtherm
bogomips	: 3193.02
clflush size	: 64
cache_alignment	: 64
address sizes	: 32 bits physical, 32 bits virtual
power management:



More information about the debian-science-maintainers mailing list