On Mar 17, 2009, at 9:13 AM, MarcoLaponder wrote:


When I try to start geronimo with jetty on AIX it gives me the following
message:

Module 24/67 org.apache.geronimo.configs/j2ee-corba-yoko/2.1.3/car               
started in  1.910s

Module 25/67 org.apache.geronimo.configs/jetty6/2.1.3/car                       
12:16:48,589 ERROR [log] failed Ajp13SocketConnector@0.0.0.0:8009

java.lang.OutOfMemoryError: unable to create new native thread
       at java.lang.Thread.start0(Native Method)
       at java.lang.Thread.start(Thread.java:597)
       at
java.util.concurrent.ThreadPoolExecutor.addIfUnderCorePoolSize(ThreadPoolExecutor.java:703)

       at
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:652)
       at org.apache.geronimo.pool.ThreadPool.execute(ThreadPool.java:232)
       at
org.apache.geronimo.jetty6.connector.JettyThreadPool.dispatch(JettyThreadPool.java:47)
       at
org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:266)

I also tried :
JAVA_OPTS="-Xmx256m -XX:MaxPermSize=128m"
and
JAVA_OPTS="-Xmx512m -XX:MaxPermSize=256m"

but still no luck. When I use geronimo with tomcat I got no problems.

Anyone got an idea what to do to solve this problem ?

Strange. I haven't used AIX in a long time. Is there some limit on the number of threads that a java process can start? IIRC you can configure the stack size allocated for each thread ( something like -Xss64k I think...). Reducing the amount of memory that will be allocated for each thread may help...

Alternative is to reduce the number of threads that the AJP Connector will allocate is another option:

In var/config/config.xml

Find:

        <gbean name="JettyAJP13Connector">
            <attribute name="host">${ServerHostname}</attribute>
            <attribute name="port">${AJPPort + PortOffset}</attribute>
            <attribute name="redirectPort">${HTTPSPortPrimary + PortOffset}</attribute>
        </gbean>

and add 

            <attribute name="maxThreads">1</attribute>

--kevan