From 8cbece81c110d55ca04894c5c5753717091c7ab4 Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Wed, 30 Apr 2008 21:00:47 +0000 Subject: [PATCH] svn merge -r13949:13958 https://eris.llnl.gov/svn/slurm/branches/slurm-1.2 --- NEWS | 1 + src/plugins/sched/wiki/msg.c | 6 ++++-- src/plugins/sched/wiki2/msg.c | 6 ++++-- src/slurmd/slurmstepd/mgr.c | 2 +- src/slurmd/slurmstepd/req.c | 16 ++++++++++++++++ 5 files changed, 26 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index ccec1f805c7..e453ceb90f0 100644 --- a/NEWS +++ b/NEWS @@ -270,6 +270,7 @@ documents those changes that are of interest to users and admins. -- If job prolog or epilog fail, log the program's exit code. -- In jobacct/gold map job names containing any non-alphanumeric characters to '_' to avoid MySQL parsing problems. + -- In jobacct/linux correct parsing if command name contains spaces. * Changes in SLURM 1.2.28 ========================= diff --git a/src/plugins/sched/wiki/msg.c b/src/plugins/sched/wiki/msg.c index 49367598416..060a0841567 100644 --- a/src/plugins/sched/wiki/msg.c +++ b/src/plugins/sched/wiki/msg.c @@ -178,8 +178,10 @@ static void *_msg_thread(void *no_data) err_code = 0; err_msg = ""; msg = _recv_msg(new_fd); - _proc_msg(new_fd, msg); - xfree(msg); + if (msg) { + _proc_msg(new_fd, msg); + xfree(msg); + } slurm_close_accepted_conn(new_fd); } if (sock_fd > 0) diff --git a/src/plugins/sched/wiki2/msg.c b/src/plugins/sched/wiki2/msg.c index f005b24b0ed..527fc7547ec 100644 --- a/src/plugins/sched/wiki2/msg.c +++ b/src/plugins/sched/wiki2/msg.c @@ -181,8 +181,10 @@ static void *_msg_thread(void *no_data) err_code = 0; err_msg = ""; msg = _recv_msg(new_fd); - _proc_msg(new_fd, msg); - xfree(msg); + if (msg) { + _proc_msg(new_fd, msg); + xfree(msg); + } slurm_close_accepted_conn(new_fd); } verbose("wiki: message engine shutdown"); diff --git a/src/slurmd/slurmstepd/mgr.c b/src/slurmd/slurmstepd/mgr.c index 6b640ac4c3f..8ff74d15351 100644 --- a/src/slurmd/slurmstepd/mgr.c +++ b/src/slurmd/slurmstepd/mgr.c @@ -980,7 +980,7 @@ _fork_all_tasks(slurmd_job_t *job) if (slurm_container_add(job, job->task[i]->pid) == SLURM_ERROR) { - error("slurm_container_create: %m"); + error("slurm_container_add: %m"); goto fail1; } jobacct_id.nodeid = job->nodeid; diff --git a/src/slurmd/slurmstepd/req.c b/src/slurmd/slurmstepd/req.c index 117b0099457..a9e5976b305 100644 --- a/src/slurmd/slurmstepd/req.c +++ b/src/slurmd/slurmstepd/req.c @@ -1032,6 +1032,14 @@ _handle_suspend(int fd, slurmd_job_t *job, uid_t uid) goto done; } + if (cont_id == 0) { + debug ("step %u.%u invalid container [cont_id:%u]", + job->jobid, job->stepid, job->cont_id); + rc = -1; + errnum = ESLURMD_JOB_NOTRUNNING; + goto done; + } + jobacct_gather_g_suspend_poll(); /* @@ -1089,6 +1097,14 @@ _handle_resume(int fd, slurmd_job_t *job, uid_t uid) goto done; } + if (job->cont_id == 0) { + debug ("step %u.%u invalid container [cont_id:%u]", + job->jobid, job->stepid, job->cont_id); + rc = -1; + errnum = ESLURMD_JOB_NOTRUNNING; + goto done; + } + jobacct_gather_g_resume_poll(); /* * Signal the container -- GitLab