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

63 views
Skip to first unread message

vikas.khengare

unread,
Nov 13, 2009, 5:54:57 AM11/13/09
to EmForge
Hi Friends,

Some times I get this error "java.lang.OutOfMemoryError: unable to
create new native thread". When I keep server running for continually
7-8 days then it started to throw this error. somtimes I got this
error after 3-4 days also If I don't restart the server. While
debugging in Eclipse 3.3, I have seen that after particular second
automatically some thread gets generated. (don't know why? These
thread must be taking memory)

Following are some exception pieces which I got in catalina.out file
of Tomcat 5.5.17

A]
Caused by: java.lang.OutOfMemoryError: unable to create new native
thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:574)
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:525)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager
(DriverManagerDataSource.java:281)
at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager
(DriverManagerDataSource.java:269)
at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager
(DriverManagerDataSource.java:253)
at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnection
(DriverManagerDataSource.java:234)
at
org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection
(LocalDataSourceConnectionProvider.java:82)
at org.hibernate.jdbc.ConnectionManager.openConnection
(ConnectionManager.java:423)
at org.hibernate.jdbc.ConnectionManager.getConnection
(ConnectionManager.java:144)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119)
at org.hibernate.transaction.JDBCTransaction.begin
(JDBCTransaction.java:57)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:
1326)
at
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin
(HibernateTransactionManager.java:509)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction
(AbstractPlatformTransactionManager.java:377)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary
(TransactionAspectSupport.java:263)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke
(TransactionInterceptor.java:101)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke
(JdkDynamicAopProxy.java:204)
at $Proxy112.canChangeTask(Unknown Source)
at org.emforge.jbpm.web.bean.TaskController.isCanSaveTaskSettings
(TaskController.java:588)

B]
Caused by: java.lang.OutOfMemoryError: unable to create new native
thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:574)
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:525)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager
(DriverManagerDataSource.java:281)
at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager
(DriverManagerDataSource.java:269)
at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager
(DriverManagerDataSource.java:253)
at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnection
(DriverManagerDataSource.java:234)
at
org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection
(LocalDataSourceConnectionProvider.java:82)
at org.hibernate.jdbc.ConnectionManager.openConnection
(ConnectionManager.java:423)
at org.hibernate.jdbc.ConnectionManager.getConnection
(ConnectionManager.java:144)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119)
at org.hibernate.transaction.JDBCTransaction.begin
(JDBCTransaction.java:57)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:
1326)
at
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin
(HibernateTransactionManager.java:509)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction
(AbstractPlatformTransactionManager.java:377)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary
(TransactionAspectSupport.java:263)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke
(TransactionInterceptor.java:101)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke
(JdkDynamicAopProxy.java:204)
at $Proxy111.canChangeMilestone(Unknown Source)
at
org.emforge.projectmanager.web.bean.MilestoneController.isCanSaveMilestone
(MilestoneController.java:289)

C]
WARNING: Error creating bean with name 'milestoneController' defined
in class path resource [META-INF/spring/emforge-projectmanager.xml]:
Invocation of init method failed; nested exception is
java.lang.OutOfMemoryError: unable to create new native thread
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'milestoneController' defined in class path
resource [META-INF/spring/emforge-projectmanager.xml]: Invocation of
init method failed; nested exception is java.lang.OutOfMemoryError:
unable to create new native thread
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean
(AbstractAutowireCapableBeanFactory.java:1336)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean
(AbstractAutowireCapableBeanFactory.java:471)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean
(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory
$2.getObject(AbstractBeanFactory.java:302)
at
org.springframework.web.context.request.AbstractRequestAttributesScope.get
(AbstractRequestAttributesScope.java:43)

D]
Caused by: java.lang.OutOfMemoryError: unable to create new native
thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:574)
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:525)
at java.sql.DriverManager.getConnection(DriverManager.java:140)
at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager
(DriverManagerDataSource.java:281)
at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager
(DriverManagerDataSource.java:269)
at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager
(DriverManagerDataSource.java:253)
at
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnection
(DriverManagerDataSource.java:234)
at
org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection
(LocalDataSourceConnectionProvider.java:82)
at org.hibernate.jdbc.ConnectionManager.openConnection
(ConnectionManager.java:423)
at org.hibernate.jdbc.ConnectionManager.getConnection
(ConnectionManager.java:144)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119)
at org.hibernate.transaction.JDBCTransaction.begin
(JDBCTransaction.java:57)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:
1326)
at
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin
(HibernateTransactionManager.java:509)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction
(AbstractPlatformTransactionManager.java:377)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary
(TransactionAspectSupport.java:263)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke
(TransactionInterceptor.java:101)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke
(JdkDynamicAopProxy.java:204)
at $Proxy111.getMilestone(Unknown Source)
at org.emforge.projectmanager.web.bean.MilestoneController.init
(MilestoneController.java:141)
at ru.emdev.EmForge.web.bean.BaseControllerImpl.afterPropertiesSet
(BaseControllerImpl.java:82)

I hope some will have thoughts on this problem.

regards,
Vikas Khengare
Reply all
Reply to author
Forward
0 new messages