abrt 1.0.8 detected a crash. architecture: x86_64 Attached file: backtrace cmdline: octave component: octave executable: /usr/bin/octave-3.2.3 kernel: 2.6.32.9-70.fc12.x86_64 package: octave-6:3.2.3-4.fc12 rating: 4 reason: Process /usr/bin/octave-3.2.3 was killed by signal 4 (SIGILL) release: Fedora release 12 (Constantine) comment ----- panic: Illegal instruction -- stopping myself... The full initial guess with 200 colunms and 40 raws is detected The main operator is detected as a full matrix Solving a standard eigenvalue problem, not generalized Here is the screen output: No preconditioner is detected No matrix of constraints is detected Solving with tolerance 1.000000e-05 and maximum number of iterations 50 attempting to save variables to `octave-core'... save to `octave-core' complete Illegal instruction (core dumped) How to reproduce ----- 1. Download http://math.cudenver.edu/~maminian/files/lobpcg/lobpcg.m 2. Open octave and in octave run 3. octave:1> A=diag(1/200:1/200:1);[X,lambda]=lobpcg(randn(200,40),A,1e-5,50,1);
Created attachment 399719 [details] File: backtrace
At least I can't see this on F12 x86_64, it works just fine.. Please paste the contents of /proc/cpuinfo and the output of $ rpm -q octave atlas arpack suitesparse qrupdate
$ cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 5 model name : AMD Opteron(tm) Processor 250 stepping : 10 cpu MHz : 2405.698 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow rep_good extd_apicid bogomips : 4811.39 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp processor : 1 vendor_id : AuthenticAMD cpu family : 15 model : 5 model name : AMD Opteron(tm) Processor 250 stepping : 10 cpu MHz : 2405.698 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow rep_good extd_apicid bogomips : 4810.07 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp $ rpm -q octave atlas arpack suitesparse qrupdate octave-3.2.3-4.fc12.x86_64 atlas-3.8.3-12.fc12.x86_64 arpack-2.1-12.fc12.x86_64 suitesparse-3.4.0-2.fc12.x86_64 qrupdate-1.1.1-1.fc12.x86_64
It's the call to eig that crashes OCTAVE: octave:1> a=randn(100,100); a=a+a';eig(a) panic: Illegal instruction -- stopping myself... attempting to save variables to `octave-core'... save to `octave-core' complete Illegal instruction (core dumped)
Some more info: octave:1> a=diag([1:71]); eig(a) works fine, but octave:1> a=diag([1:72]); eig(a) panic: Illegal instruction -- stopping myself... attempting to save variables to `octave-core'... save to `octave-core' complete Illegal instruction (core dumped)
My guess is that this is the problem with ATLAS binary not being compatible with older AMD chips. I have Opteron 180 and I cannot reproduce any of these problems. flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good pni lahf_lm cmp_legacy I would suggest to recompile ATLAS and see if problem goes away.
The ATLAS here comes from Fedora's RPM. This kind of crash is also reproduced on a different PC: $ cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 5 model name : AMD Opteron(tm) Processor 248 stepping : 8 cpu MHz : 2191.215 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow rep_good bogomips : 4382.43 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts ttp processor : 1 vendor_id : AuthenticAMD cpu family : 15 model : 5 model name : AMD Opteron(tm) Processor 248 stepping : 8 cpu MHz : 2191.215 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow rep_good bogomips : 4381.78 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts ttp $ rpm -q octave atlas arpack suitesparse qrupdate octave-3.2.3-1.fc11.x86_64 atlas-3.8.3-9.fc11.x86_64 arpack-2.1-11.fc11.x86_64 suitesparse-3.2.0-6.fc11.x86_64 qrupdate-1.1.0-2.fc11.x86_64
This other PC also uses older AMD chip ("Winchester" series?) that does not support SSE3 instructions (there is no "pni" flag in cpuinfo). I suspect this is the reason for this problem. In any case this is either an ATLAS or gcc bug (it should not use sse3 instruction with -mtune=generic).
Then please file a bug against the ATLAS package.
Submitted https://bugzilla.redhat.com/show_bug.cgi?id=573484
There is no response from https://bugzilla.redhat.com/show_bug.cgi?id=573484 Is there a work around? I've tried to use LD_PRELODE=/opt/acml-4-4-0-gfortran-64bit/gfortran64/lib/libacml.so octave and LD_PRELODE="/opt/acml-4-4-0-gfortran-64bit/gfortran64/lib/libacml.so /opt/acml-4-4-0-gfortran-64bit/gfortran64/lib/libacml_mv.so" octave but [Veig D] = eig(full(diag([1:200]))); still crashes in both cases as well.
Still a problem? Either on F-12 or F-13?
Still a problem in the latest Fedora 12: uname -a Linux opt 2.6.32.16-141.fc12.x86_64 #1 SMP Wed Jul 7 04:49:59 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux rpm -q octave atlas octave-3.2.3-4.fc12.x86_64 atlas-3.8.3-12.fc12.x86_64 cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 5 model name : AMD Opteron(tm) Processor 250 stepping : 10 cpu MHz : 2405.882 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow rep_good extd_apicid bogomips : 4811.76 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp processor : 1 vendor_id : AuthenticAMD cpu family : 15 model : 5 model name : AMD Opteron(tm) Processor 250 stepping : 10 cpu MHz : 2405.882 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow rep_good extd_apicid bogomips : 4810.07 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts fid vid ttp octave octave:1> [Veig D] = eig(full(diag([1:200]))); panic: Illegal instruction -- stopping myself... attempting to save variables to `octave-core'... save to `octave-core' complete Illegal instruction (core dumped)
A different AMD, Fedora 12: uname -a Linux math.ucdenver.edu 2.6.32.14-127.fc12.x86_64 #1 SMP Fri May 28 04:30:39 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux rpm -q octave atlas octave-3.2.3-4.fc12.x86_64 atlas-3.8.3-12.fc12.x86_64 cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 15 model : 5 model name : AMD Opteron(tm) Processor 248 stepping : 8 cpu MHz : 2192.786 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow rep_good bogomips : 4385.57 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts ttp processor : 1 vendor_id : AuthenticAMD cpu family : 15 model : 5 model name : AMD Opteron(tm) Processor 248 stepping : 8 cpu MHz : 2192.786 cache size : 1024 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow rep_good bogomips : 4384.95 TLB size : 1024 4K pages clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: ts ttp octave octave:1> [Veig D] = eig(full(diag([1:200]))); panic: Illegal instruction -- stopping myself... attempting to save variables to `octave-core'... save to `octave-core' complete Illegal instruction
It really looks like this is the same as bug #573074. Is there any reason we shouldn't close this bug as a dupe of bug #573074?
Yes, this is the exact dupe of bug #573074, which is now fixed.
(In reply to comment #17) > Yes, this is the exact dupe of bug #573074, which is now fixed. I guess I meant bug #573484 as did you? *** This bug has been marked as a duplicate of bug 573484 ***
Yes. Thanks for your help!