Skip to content

Conference notes for 2022 05 03

Robert McLay edited this page Jun 6, 2022 · 1 revision

Agenda for Lmod Zoom Mtg 2022-05-03

  • Print message when unloading a module that wasn't loaded (Issue #576)
  • How TCL break and LmodBreak is handled in Lmod
  • Q&A

Attendees

  • Robert McLay (TACC, US)
  • Kenneth Hoste (HPC-UGent, Belgium)
  • Kurt Lust (Univ. of Antwerp, Belgium - LUMI User Support Team)
  • Matthew Cawood (TACC, US)
  • Ward Poelmans (Vrije Universiteit Brussel, Belgium)
  • Mikael Öhman (Chalmers University of Technology, Sweden)
  • Bennet Fauber (Univ. of Michigan, US)

Notes

Print message when unloading module that wasn't loaded

  • see https://github.com/TACC/Lmod/issues/576
  • "warning" message will be printed, but exit code will remain zero
  • was implemented on request by Spack developers
  • not included in an Lmod release yet
  • Kenneth will try to run EasyBuild test suite on top of Lmod that includes this change
  • EasyBuild already sets $LMOD_QUIET, so won't be affected by this
    • and it probably doesn't unload modules anyway (especially none that are not loaded)

How Tcl break and LmodBreak is handled in Lmod

  • slides available at https://github.com/TACC/Lmod/blob/master/my_docs/22/lmod_zoom_mtg_2022_05_03/presentation.pdf
  • break statement outside of a loop in Tcl is an error (and we'll take advantage of that)
  • when a break statement is hit, none of the changes specified by that module file get applied (and only that module will not be loaded)
  • top of FrameStk is (in some sense) buffer of changes that are made by module file which is being loaded
    • if break happens, all those changes are ignored by kicking out the top of the stack (see M.LmodBreak function)

Q&A

  • Robert has not found time yet to look into problem reported by Bennet via Lmod-users mailing list

    • see https://sourceforge.net/p/lmod/mailman/message/37648391/
    • Lmod is producing traceback 3/5 times?!
    • traceback are even not consistent
    • using Lmod 8.6.x on top of Lua 5.3 (RHEL8)
    • looping over hash tables in Lua 5.3 happens in random order of keys (way more than Lua 5.1 did), which could be relevant here...
    • problem is happening on bare module avail or module spider, also with module spider foo
    • Bennet should try the check_module_tree_syntax tool (module file linter)
    • traceback suggests towards loop being triggered
    • could be related to having a module file that is changing $MODULEPATH with location of module file being loaded
  • Mikael's issue (https://github.com/TACC/Lmod/issues/575)

    • no answer yet on this...
    • looks like Lmod will need to have AI capabilities?
  • LmodError vs LmodWarning

    • LmodError: totally cancels whole module command
    • LmodWarning prints a warning and does non-zero exit
    • LmodBreak: stops processing module being loaded, doesn't apply changes, cancels rest of module command

Next meeting

  • Tue June 7th 2022 at 09:30 US Central (14:30 UTC)
  • topic: explaining how module load is processed by Lmod, stepping through the codebase
  • future topics: how module name is converted into an internal object in Lmod codebase
Clone this wiki locally