Symptoms

Some operations in CP lead to the following error:

Horrible Exception: java.lang.StackOverflowError
    at java.lang.Integer.toHexString(Integer.java:195)
    at java.lang.Object.toString(Object.java:237)
    at java.lang.String.valueOf(String.java:2854)
    at java.lang.StringBuilder.append(StringBuilder.java:128)
    at org.openorb.orb.pi.CurrentEntry.toString(CurrentEntry.java:145)
    at java.lang.String.valueOf(String.java:2854)
    at java.lang.StringBuilder.append(StringBuilder.java:128)
<...>
Caused by: java.lang.OutOfMemoryError: unable to create new native thread

The operations could be: login, change password, switch to BA.

The issue may occur intermittently.

Cause

UI service experiences OutOfMemory conditions due to the global limit for open files (nproc). The system load has increased and the default limit is not sufficient.

Resolution

  1. Edit /etc/init.d/pemui script and add the following lines:

    ulimit -Hn 10240
    ulimit -Sn 10240
    

    As a result, the content should be:

    export JAVA_HOME=/usr/java/latest
    export CATALINA_BASE=/usr/local/pem/etc/ui
    RETVAL=0
    prog='pemui'
    ulimit -Sn 10240
    ulimit -Hn 10240
    
  2. Restart the service:

    # service pemui restart
    

Internal content