From a0cbf1522ea30882faca2b64af77aecf2ebac400 Mon Sep 17 00:00:00 2001 From: Morris Jette <jette@schedmd.com> Date: Thu, 31 Aug 2017 11:45:56 -0600 Subject: [PATCH] srun pack group offset check logic Check for an invalid pack group value before checking for nothing to start --- src/srun/libsrun/srun_job.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/srun/libsrun/srun_job.c b/src/srun/libsrun/srun_job.c index 1d068419a03..b24a5b17a9b 100644 --- a/src/srun/libsrun/srun_job.c +++ b/src/srun/libsrun/srun_job.c @@ -1065,6 +1065,13 @@ extern void create_srun_job(void **p_job, bool *got_alloc, } /* More pack job components */ list_iterator_destroy(resp_iter); + max_pack_offset = get_max_pack_group(); + pack_offset = list_count(job_resp_list) - 1; + if (max_pack_offset > pack_offset) { + error("Requested pack_group offset exceeds highest pack job index (%d > %d)", + max_pack_offset, pack_offset); + exit(error_exit); + } i = list_count(srun_job_list); if (i == 0) { error("No directives to start application on any available " @@ -1073,13 +1080,6 @@ extern void create_srun_job(void **p_job, bool *got_alloc, } if (i == 1) FREE_NULL_LIST(srun_job_list); /* Just use "job" */ - max_pack_offset = get_max_pack_group(); - pack_offset = list_count(job_resp_list) - 1; - if (max_pack_offset > pack_offset) { - error("Requested pack_group offset exceeds highest pack job index (%d > %d)", - max_pack_offset, pack_offset); - exit(error_exit); - } if (srun_job_list && (list_count(srun_job_list) > 1) && opt_list && (list_count(opt_list) > 1) && my_job_id && (opt.mpi_combine == true)) { -- GitLab