[Debichem-devel] Bug#732400: Bug#732400: gromacs: Illegal instruction in all programs on Intel Core 2 CPU

Andras Szilagyi sziami at gmail.com
Tue Dec 17 22:53:19 UTC 2013


I may not have been clear enough here. My bug report was intended for
the debian binary package, not Gromacs itself. The binary package
cannot be "configured", it's already compiled, there is nothing you
can configure about it. Also, I'm not asking for support, I'm filing a
bug report. I can compile Gromacs from source, that is not the issue.

No, this bug is not fixed in #725013. I reported the bug for the
latest debian binary package, 4.6.5-1.

I guess the package maintainer should decide which processors the
binary package is intended to support. If only certain CPUs are
supported then this should be indicated in the package name or title.
Or if the purpose is to provide a generic version that will run on
most processors then it should not depend on AVX.

Andras

On Tue, Dec 17, 2013 at 11:27 PM, Christoph Junghans <junghans at votca.org> wrote:
> 2013/12/17 Andras Szilagyi <sziami at gmail.com>:
>> Unfortunately, mdrun crashes before it could create an md.log file.
>> All programs, including mdrun, crash while reporting the command line
>> arguments (all programs start with this).
>> I noticed the crash always occurs before reporting the first command
>> line argument (option) with a value that is not an integer or boolean.
>> That is, when the type of the next command line argument to be printed
>> is real, vector, or time.
>>
>> If this version is not supposed to run on pre-Sandy Bridge processors,
>> maybe this should be indicated in the description.
> Gromacs can run on pre-Sandy Bridge processors, but you have to
> configure it with
> -DGMX_CPU_ACCELERATION=SSE2. Anyhow, this issue seems to be fixed in
> bug #725013 already.
>
>>
>> Andras
>>
>> On Tue, Dec 17, 2013 at 10:02 PM, Christoph Junghans <junghans at votca.org> wrote:
>>> 2013/12/17 Andras Szilagyi <sziami at gmail.com>:
>>>> Package: gromacs
>>>> Version: 4.6.5-1
>>>> Severity: important
>>>>
>>>> All gromacs programs crash right at the start, reporting an illegal hardware
>>>> instruction while printing the program options.
>>> My guess is that the deb package is compiled with some hardware
>>> acceleration, which is not available on your machine.
>>>
>>> To check, could you run:
>>> $ grep "CPU acceleration" md.log
>>> on some md.log file?
>>>
>>> If it says something like:
>>> CPU acceleration:   AVX_256
>>> we know why.
>>>
>>>> E.g. "g_angle -h" results in the following output:
>>>>
>>>> ::::::
>>>>                          :-)  G  R  O  M  A  C  S  (-:
>>>>
>>>>                    Groningen Machine for Chemical Simulation
>>>>
>>>>                             :-)  VERSION 4.6.5  (-:
>>>>
>>>> (lots of text omitted)
>>>>
>>>> Option     Filename  Type         Description
>>>> ------------------------------------------------------------
>>>>   -f       traj.xtc  Input        Trajectory: xtc trr trj gro g96 pdb cpt
>>>>   -n      angle.ndx  Input        Index file
>>>>  -od    angdist.xvg  Output       xvgr/xmgr file
>>>>  -ov    angaver.xvg  Output, Opt. xvgr/xmgr file
>>>>  -of    dihfrac.xvg  Output, Opt. xvgr/xmgr file
>>>>  -ot   dihtrans.xvg  Output, Opt. xvgr/xmgr file
>>>>  -oh    trhisto.xvg  Output, Opt. xvgr/xmgr file
>>>>  -oc    dihcorr.xvg  Output, Opt. xvgr/xmgr file
>>>>  -or       traj.trr  Output, Opt. Trajectory in portable xdr format
>>>>
>>>> Option       Type   Value   Description
>>>> ------------------------------------------------------
>>>> -[no]h       bool   yes     Print help info and quit
>>>> -[no]version bool   no      Print version info and quit
>>>> -nice        int    19      Set the nicelevel
>>>> zsh: illegal hardware instruction  g_angle -h
>>>> :::::::
>>>>
>>>> Debugging with gdb indicates that the error occurs in pa_val() in
>>>> libgmx.so.8:
>>>>
>>>> :::::::
>>>> Program received signal SIGILL, Illegal instruction.
>>>> 0x00007ffff6801d8e in pa_val () from /usr/lib/libgmx.so.8
>>>> (gdb) bt
>>>> #0  0x00007ffff6801d8e in pa_val () from /usr/lib/libgmx.so.8
>>>> #1  0x00007ffff6802020 in pargs_print_line () from /usr/lib/libgmx.so.8
>>>> #2  0x00007ffff680251a in print_pargs () from /usr/lib/libgmx.so.8
>>>> #3  0x00007ffff67cc143 in ?? () from /usr/lib/libgmx.so.8
>>>> #4  0x00007ffff67ce71f in write_man () from /usr/lib/libgmx.so.8
>>>> #5  0x00007ffff67720b8 in parse_common_args () from /usr/lib/libgmx.so.8
>>>> #6  0x00007ffff79ccd43 in gmx_g_angle () from /usr/lib/libgmxana.so.8
>>>> #7  0x00007ffff7ffe7e9 in main ()
>>>> :::::::
>>>>
>>>> This occurs on an Intel Core 2 Quad Q6600 CPU. /proc/cpuinfo gives this for
>>>> each core:
>>>>
>>>> :::::::
>>>> processor       : 0
>>>> vendor_id       : GenuineIntel
>>>> cpu family      : 6
>>>> model           : 15
>>>> model name      : Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz
>>>> stepping        : 11
>>>> cpu MHz         : 1600.000
>>>> cache size      : 4096 KB
>>>> physical id     : 0
>>>> siblings        : 4
>>>> core id         : 0
>>>> cpu cores       : 4
>>>> 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 sep 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 est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority
>>>> bogomips        : 4799.50
>>>> clflush size    : 64
>>>> cache_alignment : 64
>>>> address sizes   : 36 bits physical, 48 bits virtual
>>>> power management:
>>>> ::::::
>>>>
>>>>
>>>> -- System Information:
>>>> Debian Release: 6.0.8
>>>>   APT prefers oldstable
>>>>   APT policy: (990, 'oldstable'), (500, 'unstable'), (500, 'testing'), (500, 'stable')
>>>> Architecture: amd64 (x86_64)
>>>>
>>>> Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores)
>>>> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
>>>> Shell: /bin/sh linked to /bin/bash
>>>>
>>>> Versions of packages gromacs depends on:
>>>> ii  atlas3-base [liblapack.s 3.6.0-20.6      Automatically Tuned Linear Algebra
>>>> ii  gromacs-data             4.6.5-1         GROMACS molecular dynamics sim, da
>>>> ii  lapack3 [liblapack.so.3] 3.0.20000531a-6 library of linear algebra routines
>>>> ii  libatlas3-base [liblapac 3.8.4-9.1       Automatically Tuned Linear Algebra
>>>> ii  libblas3 [libblas.so.3]  1.2.20110419-5  Basic Linear Algebra Reference imp
>>>> ii  libc6                    2.17-5          Embedded GNU C Library: Shared lib
>>>> ii  libfftw3-double3         3.3.3-3         Library for computing Fast Fourier
>>>> ii  libfftw3-single3         3.3.3-3         Library for computing Fast Fourier
>>>> ii  libgomp1                 4.8.0-7         GCC OpenMP (GOMP) support library
>>>> ii  liblapack3 [liblapack.so 3.4.2+dfsg-1    Library of linear algebra routines
>>>> ii  libx11-6                 2:1.5.0-1       X11 client-side library
>>>> ii  refblas3 [libblas.so.3]  1.2-8           Basic Linear Algebra Subroutines 3
>>>>
>>>> Versions of packages gromacs recommends:
>>>> ii  cpp                           4:4.4.5-1  The GNU C preprocessor (cpp)
>>>>
>>>> Versions of packages gromacs suggests:
>>>> ii  pymol                         1.5.0.1-2  Molecular Graphics System
>>>>
>>>> -- no debconf information
>>>>
>>>> _______________________________________________
>>>> Debichem-devel mailing list
>>>> Debichem-devel at lists.alioth.debian.org
>>>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debichem-devel
>>>
>>>
>>>
>>> --
>>> Christoph Junghans
>>> Web: http://www.compphys.de
>
>
>
> --
> Christoph Junghans
> Web: http://www.compphys.de



More information about the Debichem-devel mailing list