run python in the same process as eb wrapper script by using exec#4048
run python in the same process as eb wrapper script by using exec#4048boegel merged 3 commits intoeasybuilders:developfrom
eb wrapper script by using exec#4048Conversation
boegel
left a comment
There was a problem hiding this comment.
@Flamefire Please sync this with develop now that #4049 is merged
|
Rebased |
ebeb wrapper script by using exec
|
This change looks harmless, but when playing with it on our systems I actually run into problems because of this... Here's the contents of the #%Module1.0
# Legacy modulerc. Lmod should always take default.lua first. It's only here to ensure
# falling back to environment-modules keeps on working.
if { ![string match "*tcl2lua.tcl" $env(_)] } {
if {[info exists ::env(VSC_DEFAULT_CLUSTER_MODULE)]} {
module-version cluster/$::env(VSC_DEFAULT_CLUSTER_MODULE) default
} else {
puts stderr "The default cluster module cannot be determined. Please set \$VSC_DEFAULT_CLUSTER_MODULE."
exit 1
}
}The |
In fact it is not set at all as tested via a python script printing The actual bug in your combination of config, lmod, this change, etc is that I added a commit which readds this variable in |
Use `exec` in the `eb` wrapper script to avoid creating a new process. This allows easier work with e.g. SLURM as signals send to the main process (`eb`) may not be forwarded to Easybuild (python) which results in e.g. stale locks.
Use
execin theebwrapper script to avoid creating a new process.This allows easier work with e.g. SLURM as signals send to the main process (
eb) may not be forwarded to Easybuild (python) which results in e.g. stale locks when the process is then later force-killed.