Hello,
Our e-store periodically crashes with the exception:
Jul 3, 2010 6:26:32 AM org.apache.tomcat.util.net.JIoEndpoint processSocket
SEVERE: 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:597)
at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(ThreadPoolExecutor.java:727)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:657)
at org.apache.catalina.core.StandardThreadExecutor.execute(Unknown Source)
at org.apache.tomcat.util.net.JIoEndpoint.processSocket(Unknown Source)
at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(Unknown Source)
at java.lang.Thread.run(Thread.java:619)
Exception in thread "Thread-3" 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.Timer.<init>(Timer.java:154)
at java.util.Timer.<init>(Timer.java:122)
at com.mysql.jdbc.Connection.<init>(Connection.java:1441)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS.getPooledConnection(DriverAdapterCPDS.java:177)
at org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS.getPooledConnection(DriverAdapterCPDS.java:132)
at org.apache.commons.dbcp.datasources.KeyedCPDSConnectionFactory.makeObject(KeyedCPDSConnectionFactory.java:158)
at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:747)
at org.apache.commons.dbcp.datasources.SharedPoolDataSource.getPooledConnectionAndInfo(SharedPoolDataSource.java:167)
at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:669)
at org.apache.commons.dbcp.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:653)
at org.apache.torque.TorqueInstance.getConnection(TorqueInstance.java:749)
at org.apache.torque.Torque.getConnection(Torque.java:289)
at org.apache.torque.util.Transaction.beginOptional(Transaction.java:108)
at org.apache.torque.util.BasePeer.doSelect(BasePeer.java:763)
at com.konakart.bl.ConfigurationMgr.getConfiguration(Unknown Source)
at com.konakart.app.KKEng.getConfiguration(Unknown Source)
at com.konakart.app.KKEng.getConfiguration(Unknown Source)
at com.konakart.al.ConfigCacheUpdater.updateConfigs(Unknown Source)
at com.konakart.al.ConfigCacheUpdater.run(Unknown Source)
Does anybody know what may be the reason and solution?
Here is our extra params for tomcat:
JAVA_OPTS="-d64 -server -Xms200M -Xmx360M -XX:MaxPermSize=140M -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"