Consultor Eletrônico



Kbase P108743: java.lang.OutOfMemoryError after upgrading from Red Hat 2.1 to Red Hat AS 3.0 or 4.0
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/7/2009
Status: Verified

SYMPTOM(s):

java.lang.OutOfMemoryError: unable to create new native thread

AppServer broker receives OutOfMemoryError and hangs after spawning 85+ AppServer processes

Unhandled exception caught in <threadName>. (8419)

Two AppServer brokers can spawn 85 AppServer each

All current AppServer processes needed to be killed before new connections were allowed

java.lang.Exception

java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start(Native Method)
at java.lang.UNIXProcess$3.run(UNIXProcess.java:177)
at java.security.AccessController.doPrivileged(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:164)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:546)
at java.lang.Runtime.exec(Runtime.java:413)
at java.lang.Runtime.exec(Runtime.java:356)
at java.lang.Runtime.exec(Runtime.java:320)
at com.progress.ubroker.broker.ubServerThread.startServer(ubServerThread.java:1190)
at com.progress.ubroker.broker.ubServerThread.processStartup(ubServerThread.java:1668)
at com.progress.ubroker.broker.ubASserverThread.processStartup(ubASserverThread.java:308)
at com.progress.ubroker.broker.ubServerThread.processEvent(ubServerThread.java:1008)
at com.progress.ubroker.broker.ubServerThread.mainline(ubServerThread.java:436)
at com.progress.ubroker.broker.ubServerThread.run(ubServerThread.java:330)

JVM 1.3.1

FACT(s) (Environment):

RedHat Enterprise Linux 3.0
RedHat Enterprise Linux AS 3.0
RedHat Enterprise Linux 4.0
RedHat Enterprise Linux AS 4.0
Progress 9.1E

CHANGE:

Upgraded from Red Hat AS 2.1 to Red Hat AS 3.0 or 4.0

CAUSE:

Red Hat AS 3.0 Kernel, 2.4.21-4, defaults to the Native Threading Posix Library (NTPL). The NTPL library, however, has a lower limit of threads per process. The old LinuxThreads library had a limit of 1024 threads per process, and the AppServer Broker spawns multiple AppServer processes, each a thread.

FIX:

The combination of Red Hat (3.0 & 4.0 editi