Add support for AIX systems:
* Memory leak in slurm_cred.c, added EVP_MD_CTX_cleanup(). * Pthread stack size too small on AIX. Resulting in stack corruption and ugly failure modes. Added slurm_attr_init to macros.h to explicitly set the stack size for all pthreads. * /dev/urandom not present on AIX, use rand() as needed instead in constructing a credential. Used in "srun --join". * getsockopt(Socket, Level, SO_ERROR, &err, OptionLenght) sometime returns an error code of -1. This causes an assert failure in slurmd/io.c:_update_error_state(). * Function aliasing is not working on AIX. It is being turned off via a variable in config.h and "#if" logic in macros.h and slurm_xlator.h. * dlopen failing if plugins reference any functions not present in caller. This may be fixed with the LDFLAG "-Wl,-bgcbypass=1000" being added for the slurm commands (avoid garbage collection of unused functions). * read() is sometimes generates EAGAIN error, which was not handled in some places. * vsnprintf() for string NULL is printing "" instead of "(null)" as produced by snprintf(). More format printing was added to log.c to produce more consistent log messages. * poll() takes a timeout of -1 for unlimited rather than any negative number. Modify logic that was always multiplying by 1000 to convert usec to msec. * getopt_long keyword table was not NULL terminated, resulting in segfault with invalid command-line argument in most commands. * xmalloc module assert failures were not generating a core file. Changed "fatal();abort();" to "error();abort();". * Change msg timeout from 3 sec to 5 sec. Running everything on single AIX node was very slow.
Showing
- configure.ac 5 additions, 1 deletionconfigure.ac
- slurm/bnr.h 7 additions, 7 deletionsslurm/bnr.h
- src/common/cbuf.c 1 addition, 1 deletionsrc/common/cbuf.c
- src/common/log.c 22 additions, 0 deletionssrc/common/log.c
- src/common/macros.h 32 additions, 2 deletionssrc/common/macros.h
- src/common/slurm_cred.c 17 additions, 7 deletionssrc/common/slurm_cred.c
- src/common/slurm_protocol_interface.h 1 addition, 1 deletionsrc/common/slurm_protocol_interface.h
- src/common/slurm_protocol_socket_implementation.c 2 additions, 2 deletionssrc/common/slurm_protocol_socket_implementation.c
- src/common/slurm_protocol_util.c 1 addition, 0 deletionssrc/common/slurm_protocol_util.c
- src/common/slurm_xlator.h 11 additions, 1 deletionsrc/common/slurm_xlator.h
- src/common/xmalloc.c 1 addition, 1 deletionsrc/common/xmalloc.c
- src/scancel/Makefile.am 2 additions, 0 deletionssrc/scancel/Makefile.am
- src/scontrol/Makefile.am 3 additions, 1 deletionsrc/scontrol/Makefile.am
- src/sinfo/Makefile.am 2 additions, 0 deletionssrc/sinfo/Makefile.am
- src/slurmctld/Makefile.am 1 addition, 2 deletionssrc/slurmctld/Makefile.am
- src/slurmctld/agent.c 4 additions, 25 deletionssrc/slurmctld/agent.c
- src/slurmctld/backup.c 2 additions, 14 deletionssrc/slurmctld/backup.c
- src/slurmctld/controller.c 4 additions, 32 deletionssrc/slurmctld/controller.c
- src/slurmctld/job_mgr.c 17 additions, 8 deletionssrc/slurmctld/job_mgr.c
- src/slurmctld/node_mgr.c 2 additions, 8 deletionssrc/slurmctld/node_mgr.c
Loading
Please register or sign in to comment