diff --git a/NEWS b/NEWS index 566a56d46436249dc92f6de3b0366bb6ec44b52b..6bd7191a1c0fea111d5c8c8d6d44682314bd10c9 100644 --- a/NEWS +++ b/NEWS @@ -237,6 +237,7 @@ documents those changes that are of interest to users and admins. ========================= - BLUEGENE - Fixed issue with nodes that return to service outside of an admin state is now updated in the bluegene plugin. + - Fix for --get-user-env parsing of non-printing characters in users' logins. * Changes in SLURM 1.1.27 ========================= diff --git a/doc/man/man1/srun.1 b/doc/man/man1/srun.1 index 193ba2461d1a59eab2e58f047bb114533603d6e5..12554ec786f683b1d51076727f1f0fccf69d3a66 100644 --- a/doc/man/man1/srun.1 +++ b/doc/man/man1/srun.1 @@ -271,11 +271,11 @@ even if consumable resources are enabled .TP \fB\-\-get\-user\-env\fR -For a batch script submission, this option will tell srun to retreive the +For a batch script submission, this option will tell srun to retrieve the login environment variables for the user specified in the \-\-uid option. The environment variables are retrieved by running "su - <username> -c /usr/bin/env" and parsing the output. Be aware that any environment -variables already set in srun's environment will take precidence over any +variables already set in srun's environment will take precedence over any environment variables in the user's login environment. NOTE: This option only works if the caller has an effective uid of "root", and only takes effect in batch mode (\-b/\-\-batch). diff --git a/src/common/env.c b/src/common/env.c index 561c6f7f09e3e320f3abac319477de38cd4fea5d..aa20f49c3d00916ef12a09e2bda645b6bc972911 100644 --- a/src/common/env.c +++ b/src/common/env.c @@ -1225,7 +1225,7 @@ char **env_array_user_default(const char *username) return NULL; } - xstrfmtcat(cmdstr, "/bin/su - %s -c \"echo %s; env; echo %s\"", + xstrfmtcat(cmdstr, "/bin/su - %s -c \"echo; echo; echo; echo %s; env; echo %s\"", username, starttoken, stoptoken); su = popen(cmdstr, "r"); xfree(cmdstr); diff --git a/src/common/slurm_protocol_api.c b/src/common/slurm_protocol_api.c index b8ddf353044be4e3016b0026454b4086c1f0213f..ae600e48adae6c10f053c21aea6a8c4d9610fa1d 100644 --- a/src/common/slurm_protocol_api.c +++ b/src/common/slurm_protocol_api.c @@ -802,16 +802,14 @@ int slurm_receive_msg(slurm_fd fd, slurm_msg_t *msg, int timeout) /* convert secs to msec */ timeout = slurm_get_msg_timeout() * 1000; - if(timeout > (slurm_get_msg_timeout() * 10000)) { - error("slurm_receive_msg: " - "You are sending a message with timeout's greater " - "than %d seconds, your's is %d seconds", - (slurm_get_msg_timeout() * 10), - (timeout/1000)); + else if(timeout > (slurm_get_msg_timeout() * 10000)) { + error("You are sending a message of type %d with very long " + "timeout of %d seconds", + msg->msg_type, (timeout/1000)); } else if(timeout < 1000) { - debug("slurm_receive_msg: " - "You are sending a message with a very short timeout of " - "%d milliseconds", timeout); + error("You are sending a message of type %d with a very short " + "timeout of %d msecs", + msg->msg_type, timeout); } diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c index d2cfed7e57c78277f907d452f81a35c157fe4f43..8fcef8bf4b09f0ff61d9659250a422ebdc077d49 100644 --- a/src/slurmctld/controller.c +++ b/src/slurmctld/controller.c @@ -1087,7 +1087,8 @@ static int _shutdown_backup_controller(int wait_time) req.msg_type = REQUEST_CONTROL; START_TIMER; - if (slurm_send_recv_rc_msg_only_one(&req, &rc, CONTROL_TIMEOUT) < 0) { + if (slurm_send_recv_rc_msg_only_one(&req, &rc, + (CONTROL_TIMEOUT * 1000)) < 0) { END_TIMER; error("_shutdown_backup_controller:send/recv: %m, %s", TIME_STR); return SLURM_ERROR;