diff --git a/NEWS b/NEWS index 643ba71d7afe596bf0e232ecb20a3f7fbe7a8846..136ed67a2040905cd095c016dabe0f71361ac703 100644 --- a/NEWS +++ b/NEWS @@ -262,6 +262,7 @@ documents those changes that are of interest to users and administrators. random crashing in db2 when the slurmctld is exiting. -- Make full node reservations display correctly the core count instead of cpu count. + -- Preserve original errno on execve() failure in task plugin. * Changes in Slurm 14.11.6 ========================== diff --git a/doc/html/team.shtml b/doc/html/team.shtml index a47da652fef6d778602e9d37bee5fcb3c5abcd95..59748e90f1349c2adffa9312c02d4cff84e73f5a 100644 --- a/doc/html/team.shtml +++ b/doc/html/team.shtml @@ -154,6 +154,7 @@ Lead Slurm developers are: <li>Pere Munt (Barcelona Supercomputing Center, Spain)</li> <br> <li>Denis Nadeau</li> +<li>Jon Nelson (Dyn)</li> <li>Mark Nelson (IBM)</li> <li>Jim Nordby (Cray)</li> <li>Michal Novotny (Masaryk University, Czech Republic)</li> diff --git a/src/slurmd/slurmstepd/task.c b/src/slurmd/slurmstepd/task.c index 479b2b6bf926051381ef32ec1e1b11de71359085..8ba32ec739bc6f7b4813d8cea80175f394ed7fd1 100644 --- a/src/slurmd/slurmstepd/task.c +++ b/src/slurmd/slurmstepd/task.c @@ -367,6 +367,7 @@ exec_task(stepd_step_rec_t *job, int i) int fd, j; stepd_step_task_info_t *task = job->task[i]; char **tmp_env; + int saved_errno; if (i == 0) _make_tmpdir(job); @@ -495,6 +496,7 @@ exec_task(stepd_step_rec_t *job, int i) } execve(task->argv[0], task->argv, job->env); + saved_errno = errno; /* * print error message and clean up if execve() returns: @@ -510,10 +512,12 @@ exec_task(stepd_step_rec_t *job, int i) eol[0] = '\0'; else buf[sizeof(buf)-1] = '\0'; + slurm_seterrno(saved_errno); error("execve(): bad interpreter(%s): %m", buf+2); exit(errno); } } + slurm_seterrno(saved_errno); error("execve(): %s: %m", task->argv[0]); exit(errno); }