Bug 573484 - octave crash calling the eig function on an older AMD CPUs
Summary: octave crash calling the eig function on an older AMD CPUs
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: atlas
Version: 12
Hardware: x86_64
OS: Linux
low
high
Target Milestone: ---
Assignee: Deji Akingunola
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 573074 (view as bug list)
Depends On:
Blocks: 573074
TreeView+ depends on / blocked
 
Reported: 2010-03-15 00:03 UTC by Andy
Modified: 2010-12-03 17:20 UTC (History)
5 users (show)

Fixed In Version: atlas-3.8.3-14.fc12
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-12-03 17:20:42 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Andy 2010-03-15 00:03:02 UTC
Description of problem:

octave crash calling the eig function on older AMD CPUs

Version-Release number of selected component (if applicable):

atlas-3.8.3-12.fc12.x86_64
octave-3.2.3-4.fc12.x86_64

How reproducible:

100% 

Steps to Reproduce:
1. open Octave and run
2.octave:1> a=diag([1:72]); eig(a)
  
Actual results:

panic: Illegal instruction -- stopping myself...
attempting to save variables to `octave-core'...
save to `octave-core' complete
Illegal instruction (core dumped)   

Expected results:

A vector of integers from 1 to 72

Additional info:
https://bugzilla.redhat.com/show_bug.cgi?id=573074
https://www-old.cae.wisc.edu/pipermail/bug-octave/2010-March/010555.html

Comment 1 Ed Friedman 2010-05-20 18:56:03 UTC
A similar error message occurs if you do the following:

octave:1> a=rand(3);
octave:2> save A
octave:3> clear
octave:4> load A
panic: Segmentation fault -- stopping myself...
attempting to save variables to `octave-core'...
save to `octave-core' complete
Segmentation fault (core dumped)

This is on octave-3.2.3-4.fc12.x86_64

Comment 2 Ed Friedman 2010-05-20 19:07:23 UTC
I just checked and the above error also occurs with the version: 
octave-3.2.3-4.fc12.i686

These errors are occurring on Intel CPU's, not AMD as the original poster noted.

Comment 3 Dmitri A. Sergatskov 2010-05-20 19:51:26 UTC
This is a completely different problem. 
BTW, you do realise that a and A are different variables
in octave. 
 save A
actually saves entire octave work space into file named A.
If you want just to save variable "a" you need to do something like
save a.txt a
(that saves the matrix "a" into file "a.txt").

Comment 4 Ed Friedman 2010-05-20 19:58:45 UTC
The intent was to save the entire work space.  However, whether I say "save A" or "save a", the segmentation fault still occurs when you clear than issue the load command.

Comment 5 Dmitri A. Sergatskov 2010-05-20 20:53:36 UTC
The problem appears to be due to some octave-forge package. 
At least if I uninstall octave-forge (or start octave as octave -f)
it seems to be working fine.

Comment 6 Dmitri A. Sergatskov 2010-05-20 22:04:47 UTC
I think it is problem with package "ann". As a quick fix you can
remove /usr/share/octave/packages/ann* directory.

I will file a separate bug report for this.

Comment 7 Alex Lancaster 2010-07-04 02:55:53 UTC
(In reply to comment #6)
> I think it is problem with package "ann". As a quick fix you can
> remove /usr/share/octave/packages/ann* directory.
> 
> I will file a separate bug report for this.    

Should this bug then be closed as a dupe of bug #562276?

Comment 8 Dmitri A. Sergatskov 2010-07-04 03:10:44 UTC
I think the original bug report is still (?) valid.
The comment by Ed Friedman diverted it to a dupe of #562276.

Dmitri.
--

Comment 9 Dmitri A. Sergatskov 2010-07-04 03:19:32 UTC
I guess we should request info from the submitter if the problem still 
exist with the current version of ATLAS. The problem seems to affect only 
some specific CPUs so it is hard to reproduce elsewhere.

Dmitri.
--

Comment 10 Alex Lancaster 2010-07-17 19:46:44 UTC
(In reply to comment #9)
> I guess we should request info from the submitter if the problem still 
> exist with the current version of ATLAS. The problem seems to affect only 
> some specific CPUs so it is hard to reproduce elsewhere.

Andy: does this problem still exist?  Ideally test in F-13 if you have installed as well, to see if it's different between F-12 and F-13.

Comment 11 Andy 2010-07-22 19:39:35 UTC
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)

Comment 12 Andy 2010-07-22 19:51:07 UTC
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

Comment 13 Alex Lancaster 2010-07-22 20:35:34 UTC
Can you retest on F-13?  It does appear to be AMD-specific.  It would be nice if the maintainer could chime in on this bug.  I can't reproduce on F-13 with these packages.

# rpm -q octave octave-forge atlas
octave-3.2.4-2.fc13.x86_64
octave-forge-20090607-17.fc13.x86_64
atlas-3.8.3-15.fc13.x86_64


# octave
GNU Octave, version 3.2.4
Copyright (C) 2009 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  For details, type `warranty'.

Octave was configured for "x86_64-redhat-linux-gnu".

Additional information about Octave is available at http://www.octave.org.

Please contribute if you find this software useful.
For more information, visit http://www.octave.org/help-wanted.html

Report bugs to <bug> (but first, please read
http://www.octave.org/bugs.html to learn how to write a helpful report).

For information about changes from previous versions, type `news'.

warning: mark_as_command is obsolete and will be removed from a future version of Octave
octave:1> [Veig D] = eig(full(diag([1:200])));
octave:2> 


cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 23
model name	: Intel(R) Core(TM)2 Duo CPU     E8500  @ 3.16GHz
stepping	: 6
cpu MHz		: 2000.000
cache size	: 6144 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
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 pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority
bogomips	: 6317.50
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:

Comment 14 Deji Akingunola 2010-07-23 14:33:17 UTC
I'll try for a fix over the weekend. Thanks for your patience.

Comment 15 Deji Akingunola 2010-07-26 01:35:48 UTC
I'll fix the package to build a sse2 subpackage on the x86_64 arch too. Please test the scratch builds in the links below and let me know if works for you. Thanks.

F-13:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2350161

F-12:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2350226

Comment 16 Andy 2010-07-26 05:41:53 UTC
I have tested this on on 
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

see above for more system info. 

I've gotten 
http://koji.fedoraproject.org/koji/getfile?taskID=2350226&name=atlas-3.8.3-16.fc12.x86_64.rpm

and installed by 

rpm -ivh --force atlas-3.8.3-16.fc12.x86_64.rpm 

since

rpm -ivh atlas-3.8.3-16.fc12.x86_64.rpm 
Preparing...                ########################################### [100%]
	file /usr/lib64/atlas/libatlas.so.3.0 from install of atlas-3.8.3-16.fc12.x86_64 conflicts with file from package atlas-3.8.3-12.fc12.x86_64
	file /usr/lib64/atlas/libcblas.so.3.0 from install of atlas-3.8.3-16.fc12.x86_64 conflicts with file from package atlas-3.8.3-12.fc12.x86_64
	file /usr/lib64/atlas/libclapack.so.3.0 from install of atlas-3.8.3-16.fc12.x86_64 conflicts with file from package atlas-3.8.3-12.fc12.x86_64
	file /usr/lib64/atlas/libf77blas.so.3.0 from install of atlas-3.8.3-16.fc12.x86_64 conflicts with file from package atlas-3.8.3-12.fc12.x86_64
	file /usr/lib64/atlas/liblapack.so.3.0 from install of atlas-3.8.3-16.fc12.x86_64 conflicts with file from package atlas-3.8.3-12.fc12.x86_64
	file /usr/lib64/atlas/libptcblas.so.3.0 from install of atlas-3.8.3-16.fc12.x86_64 conflicts with file from package atlas-3.8.3-12.fc12.x86_64
	file /usr/lib64/atlas/libptf77blas.so.3.0 from install of atlas-3.8.3-16.fc12.x86_64 conflicts with file from package atlas-3.8.3-12.fc12.x86_64

I could not erase the previous version since 
pm -e atlas-3.8.3-12.fc12.x86_64
error: Failed dependencies:
	libatlas.so.3()(64bit) is needed by (installed) octave-6:3.2.3-4.fc12.x86_64
	libatlas.so.3()(64bit) is needed by (installed) octave-forge-20090607-17.fc12.x86_64
	libcblas.so.3()(64bit) is needed by (installed) suitesparse-3.4.0-2.fc12.x86_64
	libf77blas.so.3()(64bit) is needed by (installed) octave-6:3.2.3-4.fc12.x86_64
	libf77blas.so.3()(64bit) is needed by (installed) octave-forge-20090607-17.fc12.x86_64
	liblapack.so.3()(64bit) is needed by (installed) arpack-2.1-12.fc12.x86_64
	liblapack.so.3()(64bit) is needed by (installed) suitesparse-3.4.0-2.fc12.x86_64
	liblapack.so.3()(64bit) is needed by (installed) octave-6:3.2.3-4.fc12.x86_64
	liblapack.so.3()(64bit) is needed by (installed) qrupdate-1.1.1-1.fc12.x86_64
	liblapack.so.3()(64bit) is needed by (installed) octave-forge-20090607-17.fc12.x86_64

So now I have 

rpm -q octave atlas
octave-3.2.3-4.fc12.x86_64
atlas-3.8.3-12.fc12.x86_64
atlas-3.8.3-16.fc12.x86_64

This does not fix it. Still the same error 

octave
[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)

But octave still probably uses atlas-3.8.3-12. 

Perhaps my installation is not good. I am just a regular user, so please help me to install it properly so that I could test it.

Comment 17 Deji Akingunola 2010-07-26 14:04:52 UTC
(In reply to comment #16)

> 
> So now I have 
> 
> rpm -q octave atlas
> octave-3.2.3-4.fc12.x86_64
> atlas-3.8.3-12.fc12.x86_64
> atlas-3.8.3-16.fc12.x86_64
> 
The above is not good, and what you really need is the atlas-sse2 subpackage. So you need to remove both atlas installations you have now;
run 'rpm -e atlas-3.8.3-12.fc12.x86_64 atlas-3.8.3-16.fc12.x86_64'.

and then install the new atlas-sse2 package;
'rpm -ivh  http://koji.fedoraproject.org/koji/getfile?taskID=2350226&name=atlas-sse2-3.8.3-16.fc12.x86_64.rpm'.

Comment 18 Andy 2010-07-26 14:10:51 UTC
As I have already written in the previous post, 

rpm -e atlas-3.8.3-12.fc12.x86_64 
error: Failed dependencies:
	libatlas.so.3()(64bit) is needed by (installed) octave-6:3.2.3-4.fc12.x86_64
	libatlas.so.3()(64bit) is needed by (installed) octave-forge-20090607-17.fc12.x86_64
	libcblas.so.3()(64bit) is needed by (installed) suitesparse-3.4.0-2.fc12.x86_64
	libf77blas.so.3()(64bit) is needed by (installed) octave-6:3.2.3-4.fc12.x86_64
	libf77blas.so.3()(64bit) is needed by (installed) octave-forge-20090607-17.fc12.x86_64
	liblapack.so.3()(64bit) is needed by (installed) arpack-2.1-12.fc12.x86_64
	liblapack.so.3()(64bit) is needed by (installed) suitesparse-3.4.0-2.fc12.x86_64
	liblapack.so.3()(64bit) is needed by (installed) octave-6:3.2.3-4.fc12.x86_64
	liblapack.so.3()(64bit) is needed by (installed) qrupdate-1.1.1-1.fc12.x86_64
	liblapack.so.3()(64bit) is needed by (installed) octave-forge-20090607-17.fc12.x86_64

How do I remove it?

Comment 19 Deji Akingunola 2010-07-26 14:18:02 UTC
(In reply to comment #18)
> As I have already written in the previous post, 
> 
> rpm -e atlas-3.8.3-12.fc12.x86_64 
> error: Failed dependencies:
>  libatlas.so.3()(64bit) is needed by (installed) octave-6:3.2.3-4.fc12.x86_64
>  libatlas.so.3()(64bit) is needed by (installed)
> octave-forge-20090607-17.fc12.x86_64
>  libcblas.so.3()(64bit) is needed by (installed)
> suitesparse-3.4.0-2.fc12.x86_64
>  libf77blas.so.3()(64bit) is needed by (installed) octave-6:3.2.3-4.fc12.x86_64
>  libf77blas.so.3()(64bit) is needed by (installed)
> octave-forge-20090607-17.fc12.x86_64
>  liblapack.so.3()(64bit) is needed by (installed) arpack-2.1-12.fc12.x86_64
>  liblapack.so.3()(64bit) is needed by (installed)
> suitesparse-3.4.0-2.fc12.x86_64
>  liblapack.so.3()(64bit) is needed by (installed) octave-6:3.2.3-4.fc12.x86_64
>  liblapack.so.3()(64bit) is needed by (installed) qrupdate-1.1.1-1.fc12.x86_64
>  liblapack.so.3()(64bit) is needed by (installed)
> octave-forge-20090607-17.fc12.x86_64
> 
> How do I remove it?    

'rpm -e --nodeps atlas-3.8.3-12.fc12.x86_64 atlas-3.8.3-16.fc12.x86_64'

Comment 20 Dmitri A. Sergatskov 2010-07-26 16:43:59 UTC
I would suggest
yum erase atlas*
(that would remove lots off other things that depend on atlas)
yum install atlas-sse2-3.8.3-16.fc12.x86_64.rpm
(assuming you have downloaded the rpm into current directory)
yum install octave 
(that would install octave and other deps, but should skip the old 
atlas)

Dmitri.

Comment 21 Andy 2010-07-26 17:19:53 UTC
PROBLEM FIXED! 

After 

yum erase atlas
rpm -ivh atlas-sse2-3.8.3-16.fc12.x86_64.rpm
yum install octave

I have

rpm -q octave atlas-sse2 atlas
octave-3.2.3-4.fc12.x86_64
atlas-sse2-3.8.3-16.fc12.x86_64
package atlas is not installed

And the problem is fixed on my opt AMD! Thanks! 

I'll also test it on our other AMD and report here.

Comment 22 Andy 2010-07-26 18:28:01 UTC
Confirmed. This also fixes our other AMD. Case closed.

Comment 23 Alex Lancaster 2010-07-27 03:55:02 UTC
*** Bug 573074 has been marked as a duplicate of this bug. ***

Comment 24 Alex Lancaster 2010-07-27 03:55:53 UTC
Deji, I'm assuming that this doesn't require a rebuild of octave against the new atlas?

Comment 25 Deji Akingunola 2010-07-27 13:03:53 UTC
Alex,
No, octave is fine.

Comment 26 Alex Lancaster 2010-07-27 16:10:46 UTC
(In reply to comment #25)
> Alex,
> No, octave is fine.    

Are you going to push updates for F-12 F-13, as well as rebuilding for rawhide (F-14)?  I don't see any in bodhi, let alone commits to CVS as yet (even rawhide is still on version 3.8.3-15.fc13).  Bodhi should close this bug as part of the push rather than being closed manually.

Comment 27 Fedora Update System 2010-07-28 17:48:22 UTC
atlas-3.8.3-16.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/atlas-3.8.3-16.fc13

Comment 28 Fedora Update System 2010-07-28 17:48:28 UTC
atlas-3.8.3-14.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/atlas-3.8.3-14.fc12

Comment 29 Fedora Update System 2010-07-30 08:30:50 UTC
atlas-3.8.3-14.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update atlas'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/atlas-3.8.3-14.fc12

Comment 30 Fedora Update System 2010-07-30 08:35:04 UTC
atlas-3.8.3-16.fc13 has been pushed to the Fedora 13 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update atlas'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/atlas-3.8.3-16.fc13

Comment 31 Alex Lancaster 2010-07-30 17:52:51 UTC
I don't have AMD, so I can't test whether this fixes the bug, but it doesn't otherwise introduce any regressions w.r.t. octave.

Comment 32 Fedora Update System 2010-08-17 05:51:45 UTC
atlas-3.8.3-16.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 33 Fedora Update System 2010-08-17 05:52:20 UTC
atlas-3.8.3-14.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 34 Kevin Kofler 2010-08-19 22:26:55 UTC
That fix is incorrect. The SSE2 build needs to be the default, and -sse3 in a subpackage. The default build must be the one running on all machines of the given architecture which fulfill our minimum requirements, i.e. the most generic one.

Comment 35 Bug Zapper 2010-11-03 19:43:03 UTC
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '12'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 12's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 12 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 36 Bug Zapper 2010-12-03 17:20:42 UTC
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.