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