Segmentation Fault in Energy Minimisation

GROMACS version: 2024.4
GROMACS modification :No

Hello, I am getting a seg fault when attempting to run energy minimisation on a solvated protein system. The system is created from a PDB file with pdb2gmx, a cubic box is generated with editconf, solvated with solvate. Then ions are added with genion, followed by energy minimisation of the system. mdrun seems to seg fault without a error, but the potential energy is very high in the system prior to that. Is this more likely an issue with my system, or a bug?

I compiled gromacs from source - version:

GROMACS version:     2024.4
Precision:           mixed
Memory model:        64 bit
MPI library:         thread_mpi
OpenMP support:      enabled (GMX_OPENMP_MAX_THREADS = 128)
GPU support:         disabled
SIMD instructions:   AVX_512
CPU FFT library:     fftw-3.3.8-sse2-avx-avx2-avx2_128-avx512
GPU FFT library:     none
Multi-GPU FFT:       none
RDTSCP usage:        enabled
TNG support:         enabled
Hwloc support:       disabled
Tracing support:     disabled
C compiler:          /usr/bin/cc GNU 13.3.0
C compiler flags:    -fexcess-precision=fast -funroll-all-loops -march=skylake-avx512 -Wno-missing-field-initializers -O3 -DNDEBUG
C++ compiler:        /usr/bin/c++ GNU 13.3.0
C++ compiler flags:  -fexcess-precision=fast -funroll-all-loops -march=skylake-avx512 -Wno-missing-field-initializers -Wno-cast-function-type-strict SHELL:-fopenmp -O3 -DNDEBUG
BLAS library:        External - detected on the system
LAPACK library:      External - detected on the system

stdout after mdrun:

                      :-) GROMACS - gmx mdrun, 2024.4 (-:

Executable:   /local_data/data/gromacs/bin/gmx
Data prefix:  /local_data/data/gromacs
Working dir:  /local_data/data/md/em
Command line:
  gmx mdrun -v -deffnm em


Back Off! I just backed up em.log to ./#em.log.1#
Reading file em.tpr, VERSION 2024.4 (single precision)
Using 64 MPI threads
Using 1 OpenMP thread per tMPI thread


Back Off! I just backed up em.trr to ./#em.trr.1#

Back Off! I just backed up em.edr to ./#em.edr.1#

Steepest Descents:
   Tolerance (Fmax)   =  1.00000e+03
   Number of steps    =        50000
Step=    0, Dmax= 1.0e-02 nm, Epot=  2.24679e+36 Fmax= 6.53485e+07, atom= 14448
Segmentation fault (core dumped)

Tail of em.log

Note that activating steepest-descent energy minimization via the integrator .mdp option and the command gmx mdrun may be available in a different form in a future version of GROMACS, e.g. gmx minimize and an .mdp option.
Initiating Steepest Descents

Atom distribution over 48 domains: av 9862 stddev 403 min 9102 max 11012
Started Steepest Descents on rank 0 Wed Mar 12 10:56:50 2025


Steepest Descents:
   Tolerance (Fmax)   =  1.00000e+03
   Number of steps    =        50000
           Step           Time
              0        0.00000

   Energies (kJ/mol)
           Bond            U-B    Proper Dih.  Improper Dih.      CMAP Dih.
    4.96181e+06    4.54041e+04    3.27573e+04    1.40979e+03   -5.47314e+03
          LJ-14     Coulomb-14        LJ (SR)   Coulomb (SR)   Coul. recip.
    1.93950e+04    3.74843e+05    2.24679e+36    4.00689e+07    2.24665e+05
      Potential Pressure (bar)
    2.24679e+36           -nan

I can supply a tpr file for replication, what is the recommended way to share the file (11MB)?

Thank you.

You Lennard-Jones energy is 2*10^37, which means you have overlapping atoms. With this high energies, energy minimization cannot fix this. The log file, or the stdout when running mdrun -v, will tell you which atom has the highest force. Fix the overlap by shifting this atom a bit in the input file.