From b3c409a26e19b5e41636ab0c8a0d61ca90eae27d Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Tue, 13 Jun 2006 19:25:58 +0000
Subject: [PATCH] svn merge -r8382:8401
 https://eris/svn/slurm/branches/slurm-1.1

---
 NEWS                    |  2 ++
 doc/man/man1/srun.1     | 12 +++++-------
 src/slurmd/slurmd/req.c |  3 ++-
 3 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/NEWS b/NEWS
index ed143ab269e..b8719abbb9e 100644
--- a/NEWS
+++ b/NEWS
@@ -30,6 +30,8 @@ documents those changes that are of interest to users and admins.
     if values are not specified at job submit time
  -- Add retry logic for PMI communications, may be needed for highly parallel
     jobs.
+ -- Fix bug in slurmd where variable is used in logging message after freed
+    (slurmstepd rank info).
 
 * Changes in SLURM 1.1.1
 ========================
diff --git a/doc/man/man1/srun.1 b/doc/man/man1/srun.1
index ff6ef298972..29a8e8b4f1e 100644
--- a/doc/man/man1/srun.1
+++ b/doc/man/man1/srun.1
@@ -1,6 +1,6 @@
 \." $Id$
 .\"
-.TH SRUN "1" "May 2006" "srun 1.2" "slurm components"
+.TH SRUN "1" "June 2006" "srun 1.2" "slurm components"
 .SH "NAME"
 srun \- run parallel jobs
 .SH SYNOPSIS
@@ -476,14 +476,12 @@ Specify a list of constraints.
 The constraints are features that have been assigned to the nodes by 
 the slurm administrator. 
 The \fIlist\fR of constraints may include multiple features separated 
-by commas, in which case all nodes must have all listed features 
-(i.e. the features are ANDed together). 
-Alternately the features may be separated by a vertical bar, '|', 
-in which case all nodes have must have at least one of the listed 
-features (i.e. the features are ORed together). 
+by ampersand (AND) and/or vertical bar (OR) operators.
+For example: \fB\-\-constraint="opteron&video"\fR or 
+\fB\-\-constraint="fast|faster"\fR.
 If no nodes have the requested features, then the job will be rejected 
 by the slurm job manager.
-TP
+.TP
 \fB\-\-contiguous\fR
 Demand a contiguous range of nodes. The default is "yes". Specify
 --contiguous=no if a contiguous range of nodes is not a constraint.
diff --git a/src/slurmd/slurmd/req.c b/src/slurmd/slurmd/req.c
index b32d5c37924..340058c141c 100644
--- a/src/slurmd/slurmd/req.c
+++ b/src/slurmd/slurmd/req.c
@@ -288,7 +288,6 @@ _send_slurmstepd_init(int fd, slurmd_step_type_t type, void *req,
 				      "NodeName %s", parent_alias);
 				/* parent_rank = -1; */
 			}
-			free(parent_alias);
 		}
 #else
 		/* In FRONT_END mode, one slurmd pretends to be all
@@ -308,6 +307,8 @@ _send_slurmstepd_init(int fd, slurmd_step_type_t type, void *req,
 	       rank, conf->node_name,
 	       parent_rank, parent_alias ? parent_alias : "NONE",
 	       children, depth, max_depth);
+	if (parent_alias)
+		free(parent_alias);
 
 	/* send reverse-tree info to the slurmstepd */
 	safe_write(fd, &rank, sizeof(int));
-- 
GitLab