Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 76944 - setiathome-3.08 for x86_64 dies with illegal instruction on em64t
Summary: setiathome-3.08 for x86_64 dies with illegal instruction on em64t
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-06 13:27 UTC by Jon Hanson
Modified: 2005-02-07 01:38 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
strace of SETI@Home illegal instruction failure (setiathome.strace,8.14 KB, text/plain)
2005-01-10 07:10 UTC, Jon Hanson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jon Hanson 2005-01-06 13:27:46 UTC
I have a Nocona system (the Intel implementation of AMD64/x86-64). When I try to run SETI it immediately dies with an illegal instruction. In the system logs I get this message:

setiathome[696] trap invalid operand rip:40006e36 rsp:7fbfffd540 error:0


Reproducible: Always
Steps to Reproduce:
1. emerge setiathome for x86-64
2. Attempt to run setiathome

Actual Results:  
Illegal instruction error.

setiathome[696] trap invalid operand rip:40006e36 rsp:7fbfffd540 error:0


Expected Results:  
SETI should have started running normally.

Portage 2.0.51-r3 (default-linux/amd64/2004.3, gcc-3.4.3, glibc-2.3.4.20040808-
r1, 2.6.9-gentoo-r12 x86_64)
=================================================================
System uname: 2.6.9-gentoo-r12 x86_64 Genuine Intel(R) CPU 3.20GHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux26-headers-2.6.8.1-r2
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CFLAGS="-O3 -pipe -mtune=nocona -march=nocona"
CHOST="x86_64-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/s
hare/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -pipe -mtune=nocona -march=nocona"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org 
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X acpi alsa berkdb bitmap-fonts crypt f77 fortran gif gpm ipv6 jp2 
jpeg kde lzw lzw-tiff multilib ncurses nls opengl oss pam perl png python qt 
readline ssl tcpd tiff truetype truetype-fonts type1-fonts usb userlocales xml2 
xpm xrandr xv zlib"
Comment 1 Marcus D. Hanwell (RETIRED) gentoo-dev 2005-01-07 22:06:22 UTC
I am unable to reproduce this error on my AMD Athlon 64 based system. There are some differences between the instruction sets of the AMD Athlon 64 and Intel's implementation. The setiathome binary is supplied by the SETI@Home project as a closed source compiled binary, it is possible that it was compiled before the Intel implementation was released/widespread, and as such may not be compatible.

I cannot find any reference to it working (or not) on the EM64T processors. Is there anyone successfully using the x86-64 setiathome binary with an Intel EM64T? This may be an upstream problem we are unable to solve, and I don't have the hardware to test its compatibility myself.
Comment 2 Kristian Jerpetjøn 2005-01-08 09:00:02 UTC
sci-astronomy/setiathome-3.08-r4
works on EM64T(nocona)

Portage 2.0.51-r3 (default-linux/amd64/2004.3, gcc-3.4.3, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r12 x86_64)
=================================================================
System uname: 2.6.9-gentoo-r12 x86_64 Intel(R) Xeon(TM) CPU 3.00GHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux26-headers-2.6.8.1-r2
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=x86-64 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox"
GENTOO_MIRRORS="http://mirror.pudas.net/gentoo http://gentoo.osuosl.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://129.241.43.242/gentoo-portage"
USE="amd64 DVD X acpi alsa berkdb bitmap-fonts cdr crypt f77 fam fortran gif gpm ipv6 java jp2 jpeg junit kde lzw lzw-tiff motif multilib ncurses nls opengl oss pam perl png python qt readline samba sdl ssl tcltk tcpd tiff truetype truetype-fonts type1-fonts usb userlocales xml2 xmms xorg xpm xrandr xv zlib"
Comment 3 Marcus D. Hanwell (RETIRED) gentoo-dev 2005-01-08 10:15:17 UTC
Thanks Kristian, it is nice to know the binary does work. One thing to try would be running the setiathome binary directly. If you run the commands,

cd /var/lib/setiathome
/opt/setiathome/setiathome

Does it still die? If you could try running an strace of it. You may need to emerge strace, and then just run 'strace /opt/setiathome/setiathome' - if you could attach the output of this to the bug as plain text it may give clues as to how it is failing. Also the output of 'ldd /opt/setiathome/setiathome' would be useful to confirm it is linking with all necessary libraries.
Comment 4 Jon Hanson 2005-01-10 07:10:03 UTC
Created attachment 48097 [details]
strace of SETI@Home illegal instruction failure

This is the strace output from SETI@Home.
Comment 5 Jon Hanson 2005-01-10 07:12:59 UTC
I am running the binary directly as oppoed to running it from the init scripts.

I have attached the strace of it but I really didn't see anything helpful in there. If I get some time I'll try to see if I can figure out what's going on through gdb.

Here is the output from ldd:

jmhanson@jmhanson-ct setiathome $ ldd ./setiathome
        libnsl.so.1 => /lib/libnsl.so.1 (0x0000002a95658000)
        libstdc++.so.5 => /usr/lib/libstdc++-v3/libstdc++.so.5 (0x0000002a9575c000)
        libm.so.6 => /lib/libm.so.6 (0x0000002a9592f000)
        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/libgcc_s.so.1 (0x0000002a95a31000)
        libc.so.6 => /lib/libc.so.6 (0x0000002a95b3c000)
        /lib64/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x0000002a95556000)
Comment 6 Marcus D. Hanwell (RETIRED) gentoo-dev 2005-01-29 15:34:34 UTC
As commented above setiathome is verified to work on at least one other nocona system. I do not have one to test it on personally. It is possible that the -O3 in your CFLAGS could be producing some bad asm in one of the libs setiathome links to, it would be interesting to see if using -O2 improves things - although gcc and glibc would need recompiling.

It seems to fail right before it would normally start number crunching.
Comment 7 Marcus D. Hanwell (RETIRED) gentoo-dev 2005-02-07 01:38:49 UTC
Closing as WORKSFORME, I am unable to reproduce your problem. I have had one report of setiathome working fine on em64t hardware. Please reopen if the problem persists.