TIBCO iProcess Objects Server log file reports HeapReAlloc error (12) message

TIBCO iProcess Objects Server log file reports HeapReAlloc error (12) message

book

Article ID: KB0076911

calendar_today

Updated On:

Products Versions
TIBCO iProcess Engine (Oracle) 11.6.x

Description

HeapReAlloc memory allocation errors are reported in the SPO (swentobjsv) log file(s).

For example:

36110552|00000405|10/11/2019 21:29:02.727|00000001|ERROR|HeapReAlloc of 1735489536 bytes failed: error (12)

These errors are reported from the operating system and mean there was "Not enough space". The error code 12 is from the errno.h on AIX:

#define    ENOMEM    12    /* Not enough space            */

Issue/Introduction

TIBCO iProcess Objects Server log file reports HeapReAlloc error (12) message

Environment

TIBCO iProcess Objects Server (SPO) version 11.6.x Operating System : AIX

Resolution

From version 11.6.0 on the Unix/Linux platform the TIBCO iProcess Engine became a 64-bit application. This means each process size can grow beyond the 2Gb limit of a 32-bit application.

There is a known issue in the 11.6.x. version of the iProcess Objects Server on AIX where the maximum size the SPO process can grow to has a limitation of 2Gb.

If the process reaches this threshold the HeapReAlloc memory allocation error can occur.

The fix for this limitation has been implemented in version 11.7.0.

However there is a workaround using the steps,

1. Stop all the swentobjsv (SPO) processes
2. Copy the swentobjsv file,
cp $SWDIR/bin/swentobjsv $SWDIR/bin/swentobjsv.11.6.n.n
(where n.n is the version of SPO being used)
3. Run the command,
ldedit -bmaxdata:0x200000000 $SWDIR/bin/swentobjsv
(this will allow the SPO process to grow up to a maximum of 8Gb)
4. Start all the swentobjsv (SPO) processes