Guys, I have been experiencing an interesting problem lately with our production servers.
We are running Tomcat 5.5.9 with 1.4.2_08 on Gentoo box. We have around 15 contexts (identical web application for 15 separate clients) inside weapps. Our application is very XML/XSLT oriented. Our main third party hibernate, axis, batik, struts, velocity and bunch of apache commons stuff. I have identified the ones that can go in the shared/lib and put the rest in WEB-INF/lib. I have attached two text files that list these two directory listings. Problem is every now and then we will see an OutOfMemoryError on the box that looks similar to this: java.lang.OutOfMemoryError java.util.zip.ZipFile.open(Native Method) java.util.zip.ZipFile.<init>(ZipFile.java:112) java.util.jar.JarFile.<init>(JarFile.java:127) java.util.jar.JarFile.<init>(JarFile.java:92) org.apache.catalina.loader.WebappClassLoader.openJARs(WebappClassLoader.java :1544) org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClas sLoader.java:1763) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLo ader.java:1570) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.jav a:850) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav a:1299) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav a:1181) java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) com.mchange.v2.c3p0.impl.NewPooledConnection.handleThrowable(NewPooledConnec tion.java:256) com.mchange.v2.c3p0.impl.NewProxyStatement.executeQuery(NewProxyStatement.ja va:52) com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnection(Defau ltConnectionTester.java:136) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1.testPooledConnection(C3P 0PooledConnectionPool.java:156) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1.refurbishResourceOnCheck out(C3P0PooledConnectionPool.java:125) com.mchange.v2.resourcepool.BasicResourcePool.attemptRefurbishResourceOnChec kout(BasicResourcePool.java:1065) com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResource Pool.java:238) com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C 3P0PooledConnectionPool.java:232) com.mchange.v2.c3p0.PoolBackedDataSource.getConnection(PoolBackedDataSource. java:94) net.sf.hibernate.connection.C3P0ConnectionProvider.getConnection(C3P0Connect ionProvider.java:33) net.sf.hibernate.impl.BatcherImpl.openConnection(BatcherImpl.java:292) net.sf.hibernate.impl.SessionImpl.connect(SessionImpl.java:3373) net.sf.hibernate.impl.SessionImpl.connection(SessionImpl.java:3333) net.sf.hibernate.impl.BatcherImpl.prepareQueryStatement(BatcherImpl.java:67) net.sf.hibernate.loader.Loader.prepareQueryStatement(Loader.java:784) net.sf.hibernate.loader.Loader.doQuery(Loader.java:269) net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader .java:138) net.sf.hibernate.loader.Loader.doList(Loader.java:1063) net.sf.hibernate.loader.Loader.list(Loader.java:1054) net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854) net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1554) net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1531) net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1527) ... ... This to me indicates Tomcat is running out of memory when it tries to load classes from a Jar. Has anybody seen this before? If anybody has, can you please elaborate on it. Does it mean I I one too many jars. Bear in mind that the libs in WEB-INF/lib directory will be loaded 15 times for 15 contexts. Is that where the problem could be coming from? Also, at this point I thought I will tell you guys about my JVM parameters: export JAVA_OPTS="-server -Xms512m -Xmx1000m -Xss256k" export CATALINA_OPTS="-XX:MaxPermSize=300m -XX:+UseDefaultStackSize -Djava.awt.headless=true" I would be ever so greatful if anybody could shed any light or share their experiences with me. Kind regards... Arup Vidyerthy
total 4240 -rw-r--r-- 1 root root 478024 Jun 13 20:49 c3p0-0.9.0-pre4.jar -rw-r--r-- 1 root root 1848328 Jun 13 20:49 castor-0.9.7.jar -rw-r--r-- 1 root root 31605 Jun 13 20:49 commons-logging-1.0.3.jar -rw-r--r-- 1 root root 53232 Jun 13 20:49 ehcache-0.9.jar -rw-r--r-- 1 root root 967576 Jun 13 20:49 hibernate2.jar -rw-r--r-- 1 root root 8812 Jun 13 20:49 jta.jar -rw-r--r-- 1 root root 352668 Jun 13 20:49 log4j-1.2.8.jar -rw-r--r-- 1 root root 13091 Jun 13 20:49 odmg-3.0.jar -rw-r--r-- 1 root root 361173 Jun 13 20:49 velocity-1.4.jar -rw-r--r-- 1 root root 89043 Jun 13 20:49 velocity-tools-1.1.jar -rw-r--r-- 1 root root 14242 Jun 13 20:49 velocity-tools-generic-1.1.jar -rw-r--r-- 1 root root 64462 Jun 13 20:49 velocity-tools-view-1.1.jar
14_os_jpedal.jar activation.jar axis.jar batik-awt-util.jar batik-bridge.jar batik-css.jar batik-dom.jar batik-ext.jar batik-gvt.jar batik-parser.jar batik-script.jar batik-svg-dom.jar batik-transcoder.jar batik-util.jar batik-xml.jar cglib-full-2.0.2.jar commons-beanutils.jar commons-collections-3.1.jar commons-dbcp-1.2.1.jar commons-digester.jar commons-discovery.jar commons-fileupload-1.0.jar commons-lang-1.0.1.jar commons-validator-1.1.3.jar dom4j-1.6.jar jaxrpc.jar jtds-1.0.3.jar limehouseserverutils.jar limehousexep.jar mail.jar ojdbc14.jar oscore-2.2.1.jar saaj.jar saxon8.jar struts-el.jar struts.jar velocity-dep-1.4.jar wsdl4j.jar xalan-2.4.0.jar xep.jar xerces_2_5_0.jar xml-apis.jar xt.jar
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]