Common Issues
Overlapping expands cause MPI launch failure
Symptom: consecutive expansions fail with an MPI spawn or PRRTE launch error.
Cause: if dmr_check(SHOULD_EXPAND) is called again before the previous expansion has fully settled, the two MPI spawn operations can interfere with each other.
Fix: add a short sleep before each dmr_check call to let the previous expand complete:
sleep(2);
DMR_AUTO(dmr_check(SHOULD_EXPAND), save(), (void)NULL, cleanup());
Did you launch with the DMR wrapper?
Symptom:
DMR Error: Could not detect DMR state. Did you launch with the DMR wrapper?
Cause: the application was launched with mpirun directly instead of through dmr.
Fix: always launch with the wrapper:
dmr mpirun --host $NODELIST_WITH_COUNTS ./my_app
Issue fetching Slurm job ID info from environment
Symptom:
DMR Error: Issue fetching Slurm job ID info from environment.
Cause: the application was run outside of a Slurm job allocation (e.g. directly from the shell). DMR requires SLURM_JOB_ID to be set, which only happens inside a job.
Fix: submit via sbatch or run inside salloc.
cgroup.conf parse errors in slurm output
Symptom:
slurmstepd: error: Parse error in file /etc/slurm/cgroup.conf line 1: "CgroupPlugin=cgroup/v1"
slurmstepd: fatal: Could not open/read/parse cgroup.conf file
Cause: known configuration noise in the MiniDMR Docker image. These errors come from Slurm's cgroup plugin, not from DMR.
Fix: safe to ignore. They do not affect DMR behaviour.