gmx tune_pme segfaults while trying to run benchmark - Redmine #2827
Hi!
I’m trying to run gmx tune_pme using 2019 release and seems it segfaults
I’m running it through slurm
#!/bin/bash
#sbatch --nodes=32
#sbatch --tasks-per-node=14
#sbatch --cpus-per-task=2
#sbatch -p compute
#sbatch -d singleton
#sbatch -j si16_dsdna_at
#sbatch -o si16_dsdna_at-%j.out
#sbatch -e si16_dsdna_at-%j.err
module purge all
module load gromacs/2018/bdw
export omp_num_threads=${slurm_cpus_per_task}
# path
cd ${home}/projects/brazzein/310k/tune-pme
export model_name=brazzein
export stage=eq_npt
export mpirun=mpiexec
export npme=all
export pmemin=0.0
export pmemax=0.5
export steps="20000"
export resetstep="0"
echo "running ${slurm_ntasks} with ${slurm_cpus_per_task} threads per task"
gmx tune_pme -bench -mdrun $(which mdrun_mpi) -np ${slurm_ntasks} -npstring none -npme ${npme} -min ${pmemin} -max ${pmemax} -ntpr 1 -steps ${steps} -resetstep ${resetstep} -ntomp ${slurm_cpus_per_task} -s ${model_name}.${stage}.tpr -p ${model_name}.${stage}.${slurm_ntasks}x${slurm_cpus_per_task}.perf.out -err ${model_name}.${stage}.${slurm_ntasks}x${slurm_cpus_per_task}.bencherr.log -deffnm ${model_name}.${stage}.${slurm_ntasks}x${slurm_cpus_per_task}
running it though gdb shows error with accessing opt
<code class="text
#0 0x00007ffff67bc82d in ?? () from /lib64/libc.so.6
#1 0x00007ffff752e1ce in couple_files_options (nfile=53, fnm=0x7ffff7fcb2e0 <gmx_tune_pme(int, char**)::fnm>)
at /home/alexxy/Develop/gromacs/src/gromacs/gmxana/gmx_tune_pme.cpp:2038
#2 0x00007ffff752f7d7 in gmx_tune_pme (argc=1, argv=0x7fffffffd630)
at /home/alexxy/Develop/gromacs/src/gromacs/gmxana/gmx_tune_pme.cpp:2346
#3 0x00007ffff7228d1b in gmx::(anonymous namespace)::CMainCommandLineModule::run (this=0x555555599100, argc=3, argv=0x7fffffffd630)
at /home/alexxy/Develop/gromacs/src/gromacs/commandline/cmdlinemodulemanager.cpp:133
#4 0x00007ffff722a992 in gmx::CommandLineModuleManager::run (this=0x7fffffffd508, argc=3, argv=0x7fffffffd630)
at /home/alexxy/Develop/gromacs/src/gromacs/commandline/cmdlinemodulemanager.cpp:589
#5 0x000055555556059c in main (argc=4, argv=0x7fffffffd628) at /home/alexxy/Develop/gromacs/src/programs/gmx.cpp:60
(gdb) up
#1 0x00007ffff752e1ce in couple_files_options (nfile=53, fnm=0x7ffff7fcb2e0 <gmx_tune_pme(int, char**)::fnm>)
at /home/alexxy/Develop/gromacs/src/gromacs/gmxana/gmx_tune_pme.cpp:2038
2038 bBench = (0 == std::strncmp(opt, "-b", 2));
(gdb) up
#2 0x00007ffff752f7d7 in gmx_tune_pme (argc=1, argv=0x7fffffffd630)
at /home/alexxy/Develop/gromacs/src/gromacs/gmxana/gmx_tune_pme.cpp:2346
2346 couple_files_options(NFILE, fnm);
(gdb) up
#3 0x00007ffff7228d1b in gmx::(anonymous namespace)::CMainCommandLineModule::run (this=0x555555599100, argc=3, argv=0x7fffffffd630)
at /home/alexxy/Develop/gromacs/src/gromacs/commandline/cmdlinemodulemanager.cpp:133
133 return mainFunction_(argc, argv);
(gdb) up
#4 0x00007ffff722a992 in gmx::CommandLineModuleManager::run (this=0x7fffffffd508, argc=3, argv=0x7fffffffd630)
at /home/alexxy/Develop/gromacs/src/gromacs/commandline/cmdlinemodulemanager.cpp:589
589 rc = module->run(argc, argv);
(gdb) up
#5 0x000055555556059c in main (argc=4, argv=0x7fffffffd628) at /home/alexxy/Develop/gromacs/src/programs/gmx.cpp:60
60 int rc = manager.run(argc, argv);
(gdb) up
Initial frame selected; you cannot go u
So opt became nullptr and this causes segfault
*(from redmine: issue id 2827, created on 2019-01-11 by alexxy, closed on 2019-02-15)*
* Changesets:
* Revision 934caa229e51665af2c16f92dee56f33de00e54f by Paul Bauer on 2019-02-15T11:00:30Z:
Fix tune_pme
There was an issue with the file option for the tpr file being empty that caused a segmentation fault.
Fixes #2827 (closed)
Change-Id: I2702898d071d6e9325fa2e7ebb223b9043b7109e