Skip to content
Snippets Groups Projects
  • Moe Jette's avatar
    55e62ab4
    Add support for AIX systems: · 55e62ab4
    Moe Jette authored
    * 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.
    55e62ab4
    History
    Add support for AIX systems:
    Moe Jette authored
    * 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.