diff --git a/src/slurmctld/backup.c b/src/slurmctld/backup.c index 883a9270d886164dee59827825284f89e8f9d80b..ad5f1784483393d6b3afb62d12926e3872fdad01 100644 --- a/src/slurmctld/backup.c +++ b/src/slurmctld/backup.c @@ -131,8 +131,10 @@ void run_backup(void) /* clear old state and read new state */ job_fini(); - if (read_slurm_conf(2)) /* Recover all state */ - fatal("Unable to recover slurm state"); + if (read_slurm_conf(2)) { /* Recover all state */ + error("Unable to recover slurm state"); + abort(); + } slurmctld_config.shutdown_time = (time_t) 0; return; } @@ -173,7 +175,8 @@ static void *_background_signal_hand(void *no_data) return NULL; /* Normal termination */ break; case SIGABRT: /* abort */ - fatal("SIGABRT received"); + info("SIGABRT received"); + abort(); break; default: error("Invalid signal (%d) received", sig); diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c index 75a43b6ae1c295d56b9988e2871e8fcfb8541dbb..a95679dbcd27078db75105a15309b48aef4215fa 100644 --- a/src/slurmctld/controller.c +++ b/src/slurmctld/controller.c @@ -200,9 +200,11 @@ int main(int argc, char *argv[]) == 0)) { (void) _shutdown_backup_controller(); /* Now recover the remaining state information */ - if ((error_code = read_slurm_conf(recover))) - fatal("read_slurm_conf reading %s: %m", + if ((error_code = read_slurm_conf(recover))) { + error("read_slurm_conf reading %s: %m", SLURM_CONFIG_FILE); + abort(); + } info("Running primary controller"); } else { error @@ -212,8 +214,10 @@ int main(int argc, char *argv[]) exit(0); } - if (switch_state_begin(recover)) - fatal("switch_state_begin: %m"); + if (switch_state_begin(recover)) { + error("switch_state_begin: %m"); + abort(); + } /* * create attached thread for signal handling @@ -403,7 +407,8 @@ static void *_slurmctld_signal_hand(void *no_data) } break; case SIGABRT: /* abort */ - fatal("SIGABRT received"); + info("SIGABRT received"); + abort(); break; default: error("Invalid signal (%d) received", sig); diff --git a/src/slurmctld/locks.c b/src/slurmctld/locks.c index 465e589d15a0bb5ff42cde30bc88016db6ed3656..17af5c119ee0122eb96ddd6407823a10ded64252 100644 --- a/src/slurmctld/locks.c +++ b/src/slurmctld/locks.c @@ -173,9 +173,7 @@ static void _wr_wrunlock(lock_datatype_t datatype) * OUT lock_flags - a copy of the current lock values */ void get_lock_values(slurmctld_lock_flags_t * lock_flags) { - if (lock_flags == NULL) - fatal("get_lock_values passed null pointer"); - + xassert(lock_flags); memcpy((void *) lock_flags, (void *) &slurmctld_locks, sizeof(slurmctld_locks)); } diff --git a/src/slurmctld/node_mgr.c b/src/slurmctld/node_mgr.c index c74d5384d04fe238de4304aed465704cac10cea0..02c6bbbb3ace4ac6c15f5f9e400de166e292548e 100644 --- a/src/slurmctld/node_mgr.c +++ b/src/slurmctld/node_mgr.c @@ -247,13 +247,9 @@ create_node_record (struct config_record *config_point, char *node_name) int old_buffer_size, new_buffer_size; last_node_update = time (NULL); - if (config_point == NULL) - fatal ("create_node_record: invalid config_point"); - if (node_name == NULL) - fatal ("create_node_record: node_name is NULL"); - if (strlen (node_name) >= MAX_NAME_LEN) - fatal ("create_node_record: node_name too long: %s", - node_name); + xassert(config_point); + xassert(node_name); + xassert(strlen (node_name) < MAX_NAME_LEN); /* round up the buffer size to reduce overhead of xrealloc */ old_buffer_size = (node_record_count) * sizeof (struct node_record); @@ -632,11 +628,12 @@ int init_node_conf (void) if (config_list) /* delete defunct configuration entries */ (void) _delete_config_record (); - else + else { config_list = list_create (&_list_delete_config); + if (config_list == NULL) + fatal("list_create malloc failure"); + } - if (config_list == NULL) - fatal ("memory allocation failure"); return SLURM_SUCCESS; } @@ -659,8 +656,7 @@ static void _list_delete_config (void *config_entry) struct config_record *config_ptr = (struct config_record *) config_entry; - if (config_ptr == NULL) - fatal ("_list_delete_config: config_ptr == NULL"); + xassert(config_ptr); xassert(config_ptr->magic == CONFIG_MAGIC); xfree (config_ptr->feature); xfree (config_ptr->nodes); @@ -715,8 +711,8 @@ int node_name2bitmap (char *node_names, bitstr_t **bitmap) } my_bitmap = (bitstr_t *) bit_alloc (node_record_count); - if (my_bitmap == 0) - fatal ("memory allocation failure"); + if (my_bitmap == NULL) + fatal("bit_alloc malloc failure"); while ( (this_node_name = hostlist_shift (host_list)) ) { node_record_point = find_node_record (this_node_name); diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c index 2341832449ebf80b9b05f57d20668376dd376c0a..6a628c07ab3d80ba1ef6daea3141ce44bb400f43 100644 --- a/src/slurmctld/node_scheduler.c +++ b/src/slurmctld/node_scheduler.c @@ -144,10 +144,8 @@ void deallocate_nodes(struct job_record *job_ptr, bool timeout) int buf_rec_size = 0, down_node_cnt = 0; uint16_t base_state, no_resp_flag; - if (job_ptr == NULL) - fatal ("job_ptr == NULL"); - if (job_ptr->details == NULL) - fatal ("job_ptr->details == NULL"); + xassert(job_ptr); + xassert(job_ptr->details); agent_args = xmalloc(sizeof(agent_arg_t)); if (timeout) @@ -291,8 +289,7 @@ _pick_best_quadrics(bitstr_t * bitmap, bitstr_t * req_bitmap, int best_fit_nodes, best_fit_cpus, best_fit_req; int best_fit_location = 0, best_fit_sufficient; - if (bitmap == NULL) - fatal ("_pick_best_quadrics: bitmap == NULL"); + xassert(bitmap); consec_index = 0; consec_size = 50; /* start allocation for 50 sets of @@ -706,7 +703,7 @@ _add_node_set_info(struct node_set *node_set_ptr, else { *node_bitmap = bit_copy(node_set_ptr->my_bitmap); if (*node_bitmap == NULL) - fatal("bit_copy malloc"); + fatal("bit_copy malloc failure"); } *node_cnt += node_set_ptr->nodes; *cpu_cnt += node_set_ptr->nodes * @@ -738,16 +735,13 @@ int select_nodes(struct job_record *job_ptr, bool test_only) struct part_record *part_ptr = job_ptr->part_ptr; uint32_t min_nodes, max_nodes; - if (job_ptr == NULL) - fatal ("select_nodes: job_ptr == NULL"); - xassert (job_ptr->magic == JOB_MAGIC); + xassert(job_ptr); + xassert(job_ptr->magic == JOB_MAGIC); /* insure that partition exists and is up */ if (part_ptr == NULL) { part_ptr = find_part_record(job_ptr->partition); - if (part_ptr == NULL) - fatal("Invalid partition name %s for job %u", - job_ptr->partition, job_ptr->job_id); + xassert(part_ptr); job_ptr->part_ptr = part_ptr; error("partition pointer reset for job %u, part %s", job_ptr->job_id, job_ptr->partition); diff --git a/src/slurmctld/proc_req.c b/src/slurmctld/proc_req.c index ae7833abc9f91ac6af9adf52f99b6533e8164f9a..8eb9a62e8743a842fdc63d7c02ea40b7236a6bd8 100644 --- a/src/slurmctld/proc_req.c +++ b/src/slurmctld/proc_req.c @@ -1292,8 +1292,10 @@ static void _slurm_rpc_shutdown_controller(slurm_msg_t * msg) /* save_all_state(); performed by _slurmctld_background */ } slurm_send_rc_msg(msg, error_code); - if ((error_code == SLURM_SUCCESS) && core_arg) - fatal("Aborting per RPC request"); + if ((error_code == SLURM_SUCCESS) && core_arg) { + info("Aborting per RPC request"); + abort(); + } } /* _slurm_rpc_shutdown_controller_immediate - process RPC to shutdown diff --git a/src/slurmctld/step_mgr.c b/src/slurmctld/step_mgr.c index 7e536163cc056b2757190eda3a64b309fe741514..bb62cd45614d76f9f79b9b11a79335271fd8bf07 100644 --- a/src/slurmctld/step_mgr.c +++ b/src/slurmctld/step_mgr.c @@ -64,8 +64,7 @@ create_step_record (struct job_record *job_ptr) { struct step_record *step_record_point; - if (job_ptr == NULL) - fatal ("create_step_record: job_ptr == NULL"); + xassert(job_ptr); step_record_point = (struct step_record *) xmalloc (sizeof (struct step_record)); @@ -91,8 +90,7 @@ delete_all_step_records (struct job_record *job_ptr) ListIterator step_record_iterator; struct step_record *step_record_point; - if (job_ptr == NULL) - fatal ("delete_all_step_records: job_ptr == NULL"); + xassert(job_ptr); step_record_iterator = list_iterator_create (job_ptr->step_list); last_job_update = time(NULL); @@ -125,8 +123,7 @@ delete_step_record (struct job_record *job_ptr, uint32_t step_id) struct step_record *step_record_point; int error_code; - if (job_ptr == NULL) - fatal ("delete_step_record: job_ptr == NULL"); + xassert(job_ptr); error_code = ENOENT; step_record_iterator = list_iterator_create (job_ptr->step_list);