Environment:
Ubuntu 14.04
bash 4.3-7ubuntu1.4
lmod 5.1.5 # kind of old
grid engine OGE 2011.11p1 # kind of old


We use a custom JSV which in turn calls the regular JSV in "$env(SGE_ROOT)/util/resources/jsv/jsv_include.tcl"

Here's an error that I get:

$ echo "hostname" | qsub -V -cwd -l mem_free=200M
error: JSV stderr: bad variable name "jsv_env_BASH_FUNC_module()": upvar won't create a scalar variable that looks like an array element
error: JSV stderr: while executing
error: JSV stderr: "global $variable"
error: JSV stderr: (procedure "jsv_handle_env_command" line 12)
error: JSV stderr: invoked from within
error: JSV stderr: "jsv_handle_env_command "$second" "$third" "$remaining""
error: JSV stderr: (procedure "jsv_main" line 37)
error: JSV stderr: invoked from within
error: JSV stderr: "jsv_main"
error: JSV stderr: (file "/farmshare/software/free/oge/2011.11p1/FStrusty/common/auksintegration/farmjsv1.tcl" line 49) Unable to run job: JSV stderr: bad variable name "jsv_env_BASH_FUNC_module()": upvar won't create a scalar variable that looks like an array element
JSV stderr: while executing
JSV stderr: "global $variable"
JSV stderr: (procedure "jsv_handle_env_command" line 12)
JSV stderr: invoked from within
JSV stderr: "jsv_handle_env_command "$second" "$third" "$remaining""
JSV stderr: (procedure "jsv_main" line 37)
JSV stderr: invoked from within
JSV stderr: "jsv_main"
JSV stderr: (file "/farmshare/software/free/oge/2011.11p1/FStrusty/common/auksintegration/farmjsv1.tcl" line 49) JSV stderr is - (file "/farmshare/software/free/oge/2011.11p1/FStrusty/common/auksintegration/farmjsv1.tcl" line 49).
Exiting.


If I do a printenv, I see:

BASH_FUNC_module()=() {  eval $($LMOD_CMD bash "$@");
 [ $? = 0 ] && eval $(${LMOD_SETTARG_CMD:-:} -s sh)
}


So I have a bash env var called "BASH_FUNC_module()" and when the tcl jsv tries to make a TCL variable with that name, it errors out because of the parenthesis. I think this is a recent change in bash due to the bash vulnerability fix and how bash functions are handled.

As a workaround, we can tell users not to use the '-V' flag to qsub.

What would I need to do to make the -V flag to qsub work again?

I found a page like this, but we don't have mismatched bash versions:
https://rc.fas.harvard.edu/shellshock-update-issue-temporarily-affecting-slurm-jobs-software-modules/

Regards,
--
Alex Chekholko ch...@stanford.edu

_______________________________________________
users mailing list
users@gridengine.org
https://gridengine.org/mailman/listinfo/users

Reply via email to