Gromacs crashes when writing checkpoints during pull simulation
**Summary** Running a pulling simulation with time as a variable Gromacs crashes when attempting to write checkpoints **GROMACS version** GROMACS version: 2023-dev-20221015-a9dfb58dd6 **Steps to reproduce** All input files attached in tar. Using latest version of main branch, commit a9dfb58dd6841242d2a604f88e04758f66a7cbaa create input .tpr with gmx -f grompp.mdp -p topol.top -c start.gro -n index.ndx run gmx with -cpt 1 and it should crash at first attempt to write checkpoint **What is the current bug behavior?** When running a pull simulation using time as a variable in pull-coord-expression the simulation crashes when writing checkpoint files. **What did you expect the correct behavior to be?** The simulation should not crash when writing checkpoints Top of log-file: ``` GROMACS version: 2023-dev-20221015-a9dfb58dd6 GIT SHA1 hash: a9dfb58dd6841242d2a604f88e04758f66a7cbaa Precision: mixed Memory model: 64 bit MPI library: thread_mpi OpenMP support: enabled (GMX_OPENMP_MAX_THREADS = 128) GPU support: disabled SIMD instructions: AVX2_256 CPU FFT library: fftw-3.3.8-sse2-avx GPU FFT library: none RDTSCP usage: enabled TNG support: enabled Hwloc support: disabled Tracing support: disabled C compiler: /usr/bin/cc GNU 9.4.0 C compiler flags: -Wno-array-bounds -fexcess-precision=fast -funroll-all-loops -mavx2 -mfma -Wall -Wno-unused -Wunused-value -Wunused-parameter -Wextra -Wno-sign-compare -Wpointer-arith -Wundef -Werror=stringop-truncation -Wno-missing-field-initializers -O3 -DNDEBUG C++ compiler: /usr/bin/c++ GNU 9.4.0 C++ compiler flags: -Wno-array-bounds -fexcess-precision=fast -funroll-all-loops -mavx2 -mfma -Wall -Wextra -Wpointer-arith -Wmissing-declarations -Wundef -Wstringop-truncation -Wno-missing-field-initializers -fopenmp -O3 -DNDEBUG Error message: Program: gmx mdrun, version 2023-dev-20221015-a9dfb58dd6 Source file: src/gromacs/fileio/checkpoint.cpp (line 776) Function: doVectorLow(XDR*, Enum, int, int, int*, T**, std::vector<_Tp, _Alloc>*, FILE*, CptElementType) [with T = double; AllocatorType = std::allocator<double>; Enum = StatePullCoordEntry; XDR = XDR; FILE = _IO_FILE]::<lambda()> Assertion failed: Condition: sflags & enumValueToBitMask(ecpt) When not listing, the flag for the entry should be set when requesting i/o ``` **Possible fixes** Error message above points to the most likely culprit in the code [2molPull.tar.gz](/uploads/bdb565279e7e5185d36ad3e3d86cf7d2/2molPull.tar.gz)
issue