When a module is asked to be loaded or unloaded, its evaluation may trigger additional module load or unload evaluations. If the evaluation of the main module asked for load or unload fails, currently the additional module evaluation triggered are still reported. However as the main evaluation has failed the whole operation is rolled back. Thus it is quite confusing to see the automated mechanism summary report.
Taking the following modulefiles as example:
$ cat /path/to/modulefiles/rq
#%Module
if {[module-info mode unload]} {
break
}
$ cat /path/to/modulefiles/rr
#%Module
prereq rq
$ module load --auto rr
Loading rr
Loading requirement: rq
When unloading, rq fails to unload but has already unloaded rr as it depends on it. As rq fails, everything is rolled back, so in the end rq and rr remain loaded. But somehow the automated mechanism summary report is displayed which is confusing as it seems everything has been unloaded.
$ module unload --auto rq
Unloading rq
Unloading dependent: rr
$ module list
Currently Loaded Modulefiles:
1) rq 2) rr
When a module is asked to be loaded or unloaded, its evaluation may trigger additional module load or unload evaluations. If the evaluation of the main module asked for load or unload fails, currently the additional module evaluation triggered are still reported. However as the main evaluation has failed the whole operation is rolled back. Thus it is quite confusing to see the automated mechanism summary report.
Taking the following modulefiles as example:
When unloading,
rqfails to unload but has already unloadedrras it depends on it. Asrqfails, everything is rolled back, so in the endrqandrrremain loaded. But somehow the automated mechanism summary report is displayed which is confusing as it seems everything has been unloaded.