BPEL OutOfMemoryError in JBOSS SOA P

239 Views Asked by At

I deployed the bpel process in JBOSS AS in SOA Platform and it works fine.

But, when I tried to check for load testing using SOAP UI.

its stops with OutOfMemoryError as shown below.

16:48:58,226 ERROR [JIoEndpoint] Error allocating socket processor
java.lang.OutOfMemoryError: unable to create new native thread
        at java.lang.Thread.start0(Native Method)
        at java.lang.Thread.start(Thread.java:640)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.start(JIoEndpoint.java:475)
        at org.apache.tomcat.util.net.JIoEndpoint.newWorkerThread(JIoEndpoint.java:695)
        at org.apache.tomcat.util.net.JIoEndpoint.createWorkerThread(JIoEndpoint.java:674)
        at org.apache.tomcat.util.net.JIoEndpoint.getWorkerThread(JIoEndpoint.java:706)
        at org.apache.tomcat.util.net.JIoEndpoint.processSocket(JIoEndpoint.java:741)
        at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:317)
        at java.lang.Thread.run(Thread.java:662)
16:48:58,229 INFO  [STDOUT] Retrieving document at 'file:/D:/SOA_ROOT/jboss-soa-p-5/jboss-as/server/
default/tmp/4p724v3y-jabfid-huaty07z-1-huatymjb-cc/function.jar/FunctionProcessArtifacts.wsdl'.
16:48:58,239 ERROR [JIoEndpoint] Error allocating socket processor
java.lang.OutOfMemoryError: unable to create new native thread

Its a simple process flow which calculates ((a+b) * (a-b))^2. using web service which executes in remote server. Add, Subtract, Multiply and Square are independent services.

My process diagram enter image description here

What is the problem the server configuration.

How to fix this?

1

There are 1 best solutions below

2
Ivo On

In short, you face the “java.lang.OutOfMemoryError: Unable to create new native thread” whenever JVM is asking a new thread from the OS. Whenever the underlying OS cannot allocate a new native thread, this OutOfMemoryError will be thrown. The exact limit for native threads is platform dependent.

More often than not, the limits on new native threads hit by the OutOfMemoryError indicate a programming error. When your application is spawning thousands of threads then chances are that something has gone terribly wrong – there are not many applications out there which would benefit from such a vast amount of threads.