TIBCO Administrator Server crashing on AIX and Java core file shows “NUMA is either not supported or has been disabled by use”.

TIBCO Administrator Server crashing on AIX and Java core file shows “NUMA is either not supported or has been disabled by use”.

book

Article ID: KB0093021

calendar_today

Updated On:

Products Versions
TIBCO Administrator -
Not Applicable -

Description

Description:
Java core file contains “NUMA is either not supported or has been disabled by use”.
Symptoms:
Administrator crashes on AIX.
Cause:

The AIX Stack Execution is disabled. The Java JIT compiler is encountering /causing problems with the normal execution of the Java code to try to enhance optimization.

=================================

AIX 5300-03 implements Buffer Overflow Protection (BOP) using Stack/heap Execution Disable (SED). SED prevents buffer overflow attacks by not executing code in data areas of memory. AIX system administrators control the way SED is used. Java JIT implementations generate machine code in C heap memory; therefore, Java launchers must be exempt from SED. You make programs exempt from SED by setting the XCOFF executable file header flag DEP_EXEMPT. All Java launchers have the appropriate bit set to exempt them from the SED feature. Applications that use their own Java launchers and create JVM instances using JNI must be explicitly patched to exempt them from SED. Use the sedmgr utility and verify the change using the dump or sedmgr utility.


=====================================

Issue/Introduction

TIBCO Administrator Server crashing on AIX and Java core file shows “NUMA is either not supported or has been disabled by use”.

Resolution

Java Launcher is a wrapper (c++ app) which launches the bwengine (JVM) and hawkagent (JVM). The AIX Java Launcher Stack/heap Execution Disable (SED) is disabled by default. Any buffer overflow from Administrator or BWEngine or Hawkagent will result in the Java Launcher stopping or sometimes OOM(OutOfMemory). To check if SED is disabled for TIBCO binaries, run the following command. You should see Flags=( EXEC DYNLOAD DEP_SYSTEM ).

===============================

# dump -X64 -ov /var/tibco/administrator/domain/<DomainName>/bin/tibcoadmin_<DomainName>

===============================

Solution

Disable the JIT compiling feature for Java. There are several ways to disable the JIT for AIX Java.

1).  Set the following environment variable:

JAVA_COMPILER=NONE.

2). To exempt the executable from SED, you should issue the following command.

> sedmgr -c exempt ./<TIBCO binaries>

 FOR Administrator:

>sedmgr -c exempt ./tibcoadmin_<DomainName>


To confirm, run the following command. You should see Flags=( EXEC DYNLOAD DEP_EXEMPT )

===============================

# dump -X64 -ov /var/tibco/administrator/domain/<DomainName>/bin/tibcoadmin_<DomainName>

/var/tibco/administrator/domain/<DomainName>/bin/tibcoadmin_<DomainName>:

                        ***Object Module Header***

# Sections Symbol Ptr # Symbols Opt Hdr Len Flags 5 0x000318be 2006 120 0x1002

Flags=( EXEC DYNLOAD DEP_EXEMPT )

Timestamp = "Nov 6 00:45:13 2012"

Magic = 0x1f7 (64-bit XCOFF)

===============================

3). This following is optional. 

Add the option to the jvmargs for Java.

jvmargs=-Xint <this is in addition to any other jvmargs that already exist>

Additional Information

KB : 46573