[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 23:28:52 UTC 2013
OK. So if the AVX issue is already fixed in 4.6.5-1 then the bug I
found is not related to AVX; it is something else, and we still don't
know what it is.
Andras
On Wed, Dec 18, 2013 at 12:09 AM, Christoph Junghans <junghans at votca.org> wrote:
> 2013/12/17 Andras Szilagyi <sziami at gmail.com>:
>> 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.
> Clear and I meant to configure Gromacs inside debian/rules with
> -DGMX_CPU_ACCELERATION=SSE2 so that the binary package only uses sse2
> instructions.
>
>>
>> No, this bug is not fixed in #725013. I reported the bug for the
>> latest debian binary package, 4.6.5-1.
> And the fix for #725013 ended in 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.
> The maintainer already did that or at least the debian changelog claims so:
> * rules: Override autodetection of CPU extensions on amd64 and i386;
> force to SSE2 only, and provide new DEB_BUILD_OPTIONS=cpuopt flag to
> re-enable autodetection for local builds. (Closes: #725013)
>
> Also debian/rules contains:
> ifneq (,$(findstring cpuopt,$(DEB_BUILD_OPTIONS)))
> ifneq (,$(findstring $(DEB_HOST_ARCH),i386 amd64))
> COMMON_CONFIG_PARAMS += -DGMX_CPU_ACCELERATION=SSE2
> endif
> endif
>
>
>>
>> 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
>
>
>
> --
> Christoph Junghans
> Web: http://www.compphys.de
More information about the Debichem-devel
mailing list