Summary: | setiathome-3.08 for x86_64 dies with illegal instruction on em64t | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jon Hanson <Jonathan.M.Hanson> |
Component: | Current packages | Assignee: | AMD64 Project <amd64> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | CC: | sci |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | strace of SETI@Home illegal instruction failure |
Description
Jon Hanson
2005-01-06 13:27:46 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. 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" 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. Created attachment 48097 [details]
strace of SETI@Home illegal instruction failure
This is the strace output from SETI@Home.
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) 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. 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. |