PrologFlags=Alloc in Slurm plugin, documentation, bug fixes - #209
Merged
Conversation
We only need workarounds for delayed prolog in the default mode. If PrologFlags=Alloc is set in slurm.conf, don't use the workarounds and instead launch Spindle on all nodes in the prolog.
- Fix warning about unchecked pipe, chdir - Fix write from wrong string in dropPrivilegeAndRun - Fix useless check that substituted NULL for NULL
- Fix double free of hostlist in case of error - Fix grandchild_fork exit check - Fix leaks in get_num_hosts_step, dropPrivilegeAndRun - Fix allocation size in isBEProc - Fix outdated fillInArgs args in SPLIT_CALLBACK_MODE
- Check exit socket path length - Verify that correct exit message received - Handle forwarded environment in exit
- Check handleStart failure in addition to prepApp - Only use step ID env var in job script context - Check realize failure in fillInArgs
- Set current_slurm first so we can look up job control env vars - Don't leak orig_commpath if realize created a new one - Use env var in commpath in Slurm plugin container to test that branch of realize
- Don't leak fd if exit socket connect fails - Handle error return calling isBEProc
mplegendre
approved these changes
Aug 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR makes changes to support
PrologFlags=Allocin the Slurm plugin, adds documentation for the Slurm plugin, and fixes various bugs, eliminates compiler warnings, and increases error checking throughout the plugin.PrologFlags=Alloc(orContain) forces the prolog to run on every node of an allocation at job allocation time, rather than when the first step runs on a particular node. When this mode is used, we can avoid any of the workarounds that we have to do to force the prolog to run, such as by usingsrunto launch a dummy step on every node. This avoids the side effect of consuming a step number.Additionally, various bugs and compiler warnings were fixed: