commit | 9ebf67535686e36fa75ab8e4fd0235bbc61a1d85 | [log] [tgz] |
---|---|---|
author | Megan Dahl <megan@schedmd.com> | Fri Sep 05 11:26:17 2025 -0600 |
committer | Megan Dahl <megan@schedmd.com> | Fri Sep 05 11:26:17 2025 -0600 |
tree | 7dd26211daf83f5913c28e1275640c6b73130a38 | |
parent | 508c7f6fba194bb8161fff1636d3880999758200 [diff] |
Prevent double freeing slurm_conf.account_storage_type This fixes a regression added by commit 9640e08697. When compiled with --enable-memory-leak-debug and using --json or --yaml with scontrol, sacct, and sacctmgr, slurm_conf.account_storage_type will be freed twice. Once by free_openapi_resp_meta() and again by free_slurm_conf(). This is because data_parser_cli_meta() sets meta.plugin.accounting_storage directly to slurm_conf.accounting_storage_type. Ticket: 23653 Changelog: scontrol/sacct/sacctmgr - Prevent hitting a double free when slurm is compiled with --enable-memory-leak-debug and using the --json or --yaml options.
This is the Slurm Workload Manager. Slurm is an open-source cluster resource management and job scheduling system that strives to be simple, scalable, portable, fault-tolerant, and interconnect agnostic. Slurm currently has been tested only under Linux.
As a cluster resource manager, Slurm provides three key functions. First, it allocates exclusive and/or non-exclusive access to resources (compute nodes) to users for some duration of time so they can perform work. Second, it provides a framework for starting, executing, and monitoring work (normally a parallel job) on the set of allocated nodes. Finally, it arbitrates conflicting requests for resources by managing a queue of pending work.
The official issue tracker for Slurm is at
: https://support.schedmd.com/
We welcome code contributions and patches, but we do not accept Pull Requests through Github at this time. Please submit patches as attachments to new issues under the "C - Contributions" severity level.
The top-level distribution directory contains this README as well as other high-level documentation files, and the scripts used to configure and build Slurm (see INSTALL). Subdirectories contain the source-code for Slurm as well as a test suite and further documentation. A quick description of the subdirectories of the Slurm distribution follows:
src/ [ Slurm source ]
: Slurm source code is further organized into self explanatory subdirectories such as src/api, src/slurmctld, etc.
doc/ [ Slurm documentation ]
: The documentation directory contains some latex, html, and ascii text papers, READMEs, and guides. Manual pages for the Slurm commands and configuration files are also under the doc/ directory.
etc/ [ Slurm configuration ]
: The etc/ directory contains a sample config file, as well as some scripts useful for running Slurm.
slurm/ [ Slurm include files ]
: This directory contains installed include files, such as slurm.h and slurm_errno.h, needed for compiling against the Slurm API.
testsuite/ [ Slurm test suite ]
: The testsuite directory contains an extensive collection of tests written for Check, Expect and Pytest.
auxdir/ [ autotools directory ]
: Directory for autotools scripts and files used to configure and build Slurm
contribs/ [ helpful tools outside of Slurm proper ]
: Directory for anything that is outside of slurm proper such as a different api or such. To have this build you need to do a make contrib/install-contrib.
Please see the instructions at
: https://slurm.schedmd.com/quickstart_admin.html
Extensive documentation is available from our home page at
: https://slurm.schedmd.com/slurm.html
Slurm is provided "as is" and with no warranty. This software is distributed under the GNU General Public License, please see the files COPYING, DISCLAIMER, and LICENSE.OpenSSL for details.