Package: octave Version: 2.1.71-7 Severity: normal Summary:
octave dies with "illegal instruction" on a pentium MMX system but works on an athlon system. Script to trigger the bug is available at http://iki.fi/lindi/mycos.m Transcript: [EMAIL PROTECTED]:~/tmp$ octave GNU Octave, version 2.1.71 (i486-pc-linux-gnu). Copyright (C) 2005 John W. Eaton. This is free software; see the source code for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, type `warranty'. 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 <[EMAIL PROTECTED]> (but first, please read http://www.octave.org/bugs.html to learn how to write a helpful report). octave:1> x1 = mycos(3, 200, 0); panic: Illegal instruction -- stopping myself... attempting to save variables to `octave-core'... save to `octave-core' complete Illegal instruction (core dumped) [EMAIL PROTECTED]:~$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 5 model : 4 model name : Pentium MMX stepping : 4 cpu MHz : 199.682 fdiv_bug : no hlt_bug : no f00f_bug : yes coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr mce cx8 mmx bogomips : 398.13 The athlon system where the package and script work without problems has: [EMAIL PROTECTED]:~$ cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 6 model : 4 model name : AMD Athlon(tm) processor stepping : 2 cpu MHz : 701.604 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow bogomips : 1399.19 Backtrace: #0 0x41709b50 in fftw_taint () from /usr/lib/libfftw3.so.3 (gdb) bt #0 0x41709b50 in fftw_taint () from /usr/lib/libfftw3.so.3 #1 0x40816e43 in octave_fftw_planner::create_plan () from /usr/lib/octave-2.1.71/liboctave.so #2 0x40818043 in octave_fftw::fft () from /usr/lib/octave-2.1.71/liboctave.so #3 0x40abc722 in NDArray::fourier () from /usr/lib/octave-2.1.71/liboctave.so #4 0x41e0b915 in ?? () from /usr/lib/octave/2.1.71/oct/i486-pc-linux-gnu/fft.oct #5 0x41e0bced in Ffft () from /usr/lib/octave/2.1.71/oct/i486-pc-linux-gnu/fft.oct #6 0x403611a7 in octave_builtin::do_multi_index_op () from /usr/lib/octave-2.1.71/liboctinterp.so #7 0x41df0775 in octave_dispatch::do_multi_index_op () from /usr/lib/octave/site/oct/api-v13/i486-pc-linux-gnu/octave-forge/dispatch.oct #8 0x41df1e2f in octave_dispatch::subsref () from /usr/lib/octave/site/oct/api-v13/i486-pc-linux-gnu/octave-forge/dispatch.oct #9 0x40342a09 in octave_value::subsref () from /usr/lib/octave-2.1.71/liboctinterp.so #10 0x40430b4d in tree_index_expression::rvalue () from /usr/lib/octave-2.1.71/liboctinterp.so #11 0x40430de6 in tree_index_expression::rvalue () from /usr/lib/octave-2.1.71/liboctinterp.so #12 0x4041a4af in tree_simple_assignment::rvalue () from /usr/lib/octave-2.1.71/liboctinterp.so #13 0x40419ebe in tree_simple_assignment::rvalue () from /usr/lib/octave-2.1.71/liboctinterp.so #14 0x4044f21b in tree_statement::eval () from /usr/lib/octave-2.1.71/liboctinterp.so #15 0x4044f7fa in tree_statement_list::eval () from /usr/lib/octave-2.1.71/liboctinterp.so #16 0x4036ce99 in octave_user_function::do_multi_index_op () from /usr/lib/octave-2.1.71/liboctinterp.so #17 0x4036bd52 in octave_user_function::subsref () from /usr/lib/octave-2.1.71/liboctinterp.so #18 0x40342a09 in octave_value::subsref () from /usr/lib/octave-2.1.71/liboctinterp.so #19 0x40430b4d in tree_index_expression::rvalue () from /usr/lib/octave-2.1.71/liboctinterp.so #20 0x40430de6 in tree_index_expression::rvalue () from /usr/lib/octave-2.1.71/liboctinterp.so #21 0x4041a4af in tree_simple_assignment::rvalue () from /usr/lib/octave-2.1.71/liboctinterp.so #22 0x40419ebe in tree_simple_assignment::rvalue () from /usr/lib/octave-2.1.71/liboctinterp.so #23 0x4044f21b in tree_statement::eval () from /usr/lib/octave-2.1.71/liboctinterp.so #24 0x4044f7fa in tree_statement_list::eval () from /usr/lib/octave-2.1.71/liboctinterp.so #25 0x402abd01 in main_loop () from /usr/lib/octave-2.1.71/liboctinterp.so #26 0x405e31a5 in octave_main () from /usr/lib/octave-2.1.71/liboctinterp.so #27 0x0804865b in main () (gdb) x/4i $eip 0x41709b50 <fftw_taint+16>: cmovne %edx,%eax 0x41709b53 <fftw_taint+19>: ret 0x41709b54 <fftw_taint+20>: lea 0x0(%esi),%esi 0x41709b5a <fftw_taint+26>: lea 0x0(%edi),%edi (gdb) disassemble fftw_taint Dump of assembler code for function fftw_taint: 0x41709b40 <fftw_taint+0>: push %ebp 0x41709b41 <fftw_taint+1>: mov %esp,%ebp 0x41709b43 <fftw_taint+3>: mov 0x8(%ebp),%eax 0x41709b46 <fftw_taint+6>: mov %eax,%edx 0x41709b48 <fftw_taint+8>: or $0x3,%edx 0x41709b4b <fftw_taint+11>: testb $0x1,0xc(%ebp) 0x41709b4f <fftw_taint+15>: pop %ebp 0x41709b50 <fftw_taint+16>: cmovne %edx,%eax 0x41709b53 <fftw_taint+19>: ret 0x41709b54 <fftw_taint+20>: lea 0x0(%esi),%esi 0x41709b5a <fftw_taint+26>: lea 0x0(%edi),%edi End of assembler dump. (gdb) info register eax 0x8f8cf70 150523760 ecx 0xbfffe358 -1073749160 edx 0x8f8cf73 150523763 ebx 0x417cf3dc 1098707932 esp 0xbfffe31c 0xbfffe31c ebp 0xbfffe368 0xbfffe368 esi 0x1 1 edi 0x0 0 eip 0x41709b50 0x41709b50 eflags 0x202 514 cs 0x23 35 ss 0x2b 43 ds 0x2b 43 es 0x2b 43 fs 0x2b 43 gs 0x2b 43 -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i586) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.4.31dandelion2 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages octave depends on: ii octave2.1 2.1.71-7 GNU Octave language for numerical octave recommends no packages. -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]