Sysload PowerVM agent crashes with malloc errors

Document ID : KB000121563
Last Modified Date : 27/11/2018
Show Technical Document Details
Issue:
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.
Environment:
AIX
Cause:
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
131072


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

default:
        data = 262144

 
Resolution:
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:

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.