This problem is fixed in Slurm version 2.0.4 or you can apply the patch below.
The problem is caused by the sbatch command reading input from stdin and
failing to NULL terminate the argv argument to the execve() function. As a
work-around you can supply a batch script file as an argument to sbatch
rather than as stdin (e.g. "sbatch my.script"). Here's the patch:
Index: src/slurmd/slurmstepd/slurmstepd_job.c
===================================================================
--- src/slurmd/slurmstepd/slurmstepd_job.c (revision 18091)
+++ src/slurmd/slurmstepd/slurmstepd_job.c (revision 18092)
@@ -382,7 +382,7 @@
/* job script has not yet been written out to disk --
* argv will be filled in later by _make_batch_script()
*/
- job->argv = (char **) xmalloc(sizeof(char *));
+ job->argv = (char **) xmalloc(2 * sizeof(char *));
}
This problem is fixed in Slurm version 2.0.4 or you can apply the patch below.
The problem is caused by the sbatch command reading input from stdin and
failing to NULL terminate the argv argument to the execve() function. As a
work-around you can supply a batch script file as an argument to sbatch
rather than as stdin (e.g. "sbatch my.script"). Here's the patch:
Index: src/slurmd/ slurmstepd/ slurmstepd_ job.c ======= ======= ======= ======= ======= ======= ======= ======= ==== slurmstepd/ slurmstepd_ job.c (revision 18091) slurmstepd/ slurmstepd_ job.c (revision 18092) script( )
=======
--- src/slurmd/
+++ src/slurmd/
@@ -382,7 +382,7 @@
/* job script has not yet been written out to disk --
* argv will be filled in later by _make_batch_
*/
- job->argv = (char **) xmalloc(sizeof(char *));
+ job->argv = (char **) xmalloc(2 * sizeof(char *));
}
job->task = (slurmd_task_info_t **)