Sysload PowerVM agent crashes with malloc errors

Document ID : KB000121563
Last Modified Date : 27/11/2018
Show Technical Document Details
The Sysload Agent for PowerVM crashes on AIX with the following kind of errors in sldpwrvm.log:

 LPtrVerif - SLDMEMPOOL_Malloc - malloc(584) failed. pThis->m_iNoItemsInBlock=10. pThis->m_iItemNodeSize=56. mempool.c 127
 LPtrVerif - AllocateMemoryForNewNode - SLDMEMPOOL_Malloc failed. sldlist.c 1205
 LPtrVerif - SLDMEMPOOL_Malloc - malloc(744) failed. pThis->m_iNoItemsInBlock=10. pThis->m_iItemNodeSize=72. mempool.c 127
 LPtrVerif - SLDINSTANCEDATA_CreateDataNode - SLDMEMPOOL_Malloc (SLDINSTANCEDATANODE) failed. instdata.c 229

When checking the errpt -a, the system indicates that the process slwpwrvm crashed generating a core file of around 128MB.
On AIX systems, by default, the maximum data segment size is set to 128MB.
In case a tries to allocate more than 128MB, the process will crash generating malloc errors in the log.

This can be checked via the following command launched as the user that starts the sldpwrvm:

ulimit -d

The same can also be checked in /etc/security/limits:

        data = 262144

In order to avoid a crash of the agent when reaching the "ulimit -d" limits, increase the "ulimit -d" parameter either in the .profile of the user starting the agent or in the /etc/security/limits
Example in /etc/security/limits for the user sysload:

data = 1280000
data_hard = 1280000

Or the following in .profile:
ulimit -d 640000

Restart the agent after reloading the environment to take into account the ulimit changes.