diff --git a/NEWS b/NEWS index 843684c18f61e8e6e7c17b9570b2e2364b5cc337..1dc2ae2bcd82f0df50282a4d5a3ac6b7a0218cf4 100644 --- a/NEWS +++ b/NEWS @@ -251,6 +251,7 @@ documents those changes that are of interest to users and administrators. * Changes in Slurm 15.08.13 =========================== + -- Fix issue where slurmd could core when running the ipmi energy plugin. * Changes in Slurm 15.08.12 =========================== @@ -298,6 +299,7 @@ documents those changes that are of interest to users and administrators. and two others that cause incorrect debug messages. -- Fix backwards compatibility with sreport going to <= 14.11 coming from >= 15.08 for some reports. + -- Print correct return code on failure to update node features through sview. * Changes in Slurm 15.08.11 =========================== diff --git a/src/api/node_info.c b/src/api/node_info.c index 2060964633caf9908e5deadf88c1f2a356fb8fd4..e58111d4aa103cf50f5a17a5f903884144db1d0c 100644 --- a/src/api/node_info.c +++ b/src/api/node_info.c @@ -535,7 +535,7 @@ extern int slurm_load_node_single (node_info_msg_t **resp, * configured sensors on the target machine * IN host - name of node to query, NULL if localhost * IN delta - Use cache if data is newer than this in seconds - * OUT nb_sensors - number of sensors + * OUT sensors_cnt - number of sensors * OUT energy - array of acct_gather_energy_t structures on success or * NULL other wise * RET 0 on success or a slurm error code @@ -552,6 +552,12 @@ extern int slurm_get_node_energy(char *host, uint16_t delta, uint32_t cluster_flags = slurmdb_setup_cluster_flags(); char *this_addr; + xassert(sensor_cnt); + xassert(energy); + + *sensor_cnt = 0; + *energy = NULL; + slurm_msg_t_init(&req_msg); slurm_msg_t_init(&resp_msg); diff --git a/src/plugins/acct_gather_energy/ipmi/acct_gather_energy_ipmi.c b/src/plugins/acct_gather_energy/ipmi/acct_gather_energy_ipmi.c index 9865738c53b444084bab38f83d7db489c77d0226..ab32a0595cbee623b2ee60bb3b834d8d34859569 100644 --- a/src/plugins/acct_gather_energy/ipmi/acct_gather_energy_ipmi.c +++ b/src/plugins/acct_gather_energy/ipmi/acct_gather_energy_ipmi.c @@ -834,8 +834,8 @@ static int _get_joules_task(uint16_t delta) acct_gather_energy_t *new, *old; /* sensors list */ - acct_gather_energy_t *energies; - uint16_t sensor_cnt; + acct_gather_energy_t *energies = NULL; + uint16_t sensor_cnt = 0; if (slurm_get_node_energy(NULL, delta, &sensor_cnt, &energies)) { error("_get_joules_task: can't get info from slurmd"); diff --git a/src/sview/node_info.c b/src/sview/node_info.c index be22e68134bb980b2b2387dba47c2c9d71035a44..c3e78d91c0372f1bbbd9c8aeeb0beb63630184b7 100644 --- a/src/sview/node_info.c +++ b/src/sview/node_info.c @@ -1283,7 +1283,7 @@ extern int update_avail_features_node(GtkDialog *dialog, const char *nodelist, g_free(edit); goto end_it; } - if ((rc = slurm_update_node(node_msg) == SLURM_SUCCESS)) { + if ((rc = slurm_update_node(node_msg)) == SLURM_SUCCESS) { edit = g_strdup_printf( "Node(s) %s updated successfully.", nodelist);