Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 75289 invoked from network); 16 Nov 2004 00:13:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 16 Nov 2004 00:13:29 -0000 Received: (qmail 10805 invoked by uid 500); 16 Nov 2004 00:13:26 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 10775 invoked by uid 500); 16 Nov 2004 00:13:26 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@geronimo.apache.org Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 10752 invoked by uid 99); 16 Nov 2004 00:13:25 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [192.18.33.10] (HELO exchange.sun.com) (192.18.33.10) by apache.org (qpsmtpd/0.28) with SMTP; Mon, 15 Nov 2004 16:13:25 -0800 Received: (qmail 15227 invoked from network); 16 Nov 2004 00:13:23 -0000 Received: from localhost (HELO nagoya) (127.0.0.1) by nagoya.betaversion.org with SMTP; 16 Nov 2004 00:13:23 -0000 Message-ID: <1046080838.1100564003755.JavaMail.apache@nagoya> Date: Mon, 15 Nov 2004 16:13:23 -0800 (PST) From: "Seth Ladd (JIRA)" To: dev@geronimo.apache.org Subject: [jira] Updated: (GERONIMO-484) Repeated Deploys of WAR Generate OOM Exception In-Reply-To: <30029186.1100563644358.JavaMail.apache@nagoya> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N [ http://nagoya.apache.org/jira/browse/GERONIMO-484?page=history ] Seth Ladd updated GERONIMO-484: ------------------------------- Attachment: minimaltest.war The webapp used in the over-and-over test. Includes only web.xml and a welcome.jsp > Repeated Deploys of WAR Generate OOM Exception > ---------------------------------------------- > > Key: GERONIMO-484 > URL: http://nagoya.apache.org/jira/browse/GERONIMO-484 > Project: Apache Geronimo > Type: Bug > Components: web > Versions: 1.0-M3 > Environment: WinXP SP2, JDK 1.4.2_05 > Reporter: Seth Ladd > Attachments: minimaltest.war, over-and-over.sh > > Hello, > I have just run a test that tests Geronimo's ability to redeploy .war > files. The results don't look so good, but I'm hoping the info I've > collected will help expose the problem (whether the problem is with me > or the server :) > I've included the script, .war file, web.xml, and two exception traces > (one from the deploy client and one from the server) I apologize for > the length of this post. If there's a better way to include all this > information, please let me know. > It appears as if the server is running out of memory. Note that I did > not alter the native configuration of Geronimo in any way. This is a > stock M3 download, using JDK 1.4.2_05 on Windows XP SP2. > It's my expectation that the app server would stay up and running > indefinitely after redeploys of .war files. Especially this .war file > since it merely contains a single welcome.jsp. I hope this info is > helpful, and let me know what else you might need. I'll gladly send > the script and .war file to others that might want to test this. > Thanks, > Seth > My test script: > $ cat over-and-over.sh > while /bin/true; do > java -jar bin/deployer.jar --user system --password manager deploy ../eclipse/wo > rkspace/MinimalWebapp/build/minimaltest.war > sleep 1 > wget -q -O - http://localhost:8080/minimaltest/welcome.jsp > /dev/null > java -jar bin/deployer.jar --user system --password manager undeploy minimaltest > sleep 1 > done > Structure of minimaltest.war: > $ jar tf ../eclipse/workspace/MinimalWebapp/build/minimaltest.war > META-INF/ > META-INF/MANIFEST.MF > WEB-INF/ > welcome.jsp > WEB-INF/web.xml > Contents of web.xml: > $ cat ../eclipse/workspace/MinimalWebapp/web/WEB-INF/web.xml > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/ > xml/ns/j2ee/web-app_2_4.xsd" > version="2.4"> > > welcome.jsp > > > So, as you can see, it's a very minimal webapp. It doesn't initialize > anything, nor does it include any 3rd party jars or libs. It doesn't > even load up any classes, and the welcome.jsp only says "Hello, > world!" > After 1434 deploy cycles, we receive this exception from the deploy client: > --------------------------------- > Deployment failed > Server reports: null > java.lang.IllegalStateException > at org.apache.geronimo.kernel.Kernel.stopConfiguration(Kernel.java:437) > at sun.reflect.GeneratedMethodAccessor122.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at mx4j.server.ReflectionMBeanInvoker.invokeImpl(ReflectionMBeanInvoker.java:152) > at mx4j.server.ReflectionMBeanInvoker.doInvoke(ReflectionMBeanInvoker.java:119) > at mx4j.server.ReflectionMBeanInvoker.invoke(ReflectionMBeanInvoker.java:54) > at mx4j.server.interceptor.InvokerMBeanServerInterceptor.invoke(InvokerMBeanServerInterceptor.java:235) > at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:121) > at mx4j.server.interceptor.SecurityMBeanServerInterceptor.invoke(SecurityMBeanServerInterceptor.java:86) > at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:121) > at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:121) > at mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.invoke(ContextClassLoaderMBeanServerInterceptor.java:205) > at mx4j.server.MX4JMBeanServer.invoke(MX4JMBeanServer.java:1079) > at mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:222) > at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:36) > at mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:98) > at mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:32) > at mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:89) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAsPrivileged(Subject.java:500) > at mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:151) > at mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:85) > at mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:79) > at $Proxy0.invoke(Unknown Source) > at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:224) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261) > at sun.rmi.transport.Transport$1.run(Transport.java:148) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:144) > at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460) > at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701) > at java.lang.Thread.run(Thread.java:534) > Caused by: org.apache.geronimo.kernel.config.InvalidConfigException: > Invalid GBean configuration for geronimo.config:name="minimaltest" > at org.apache.geronimo.kernel.Kernel.stopGBean(Kernel.java:389) > at org.apache.geronimo.kernel.Kernel.stopConfiguration(Kernel.java:431) > ... 39 more > Caused by: java.lang.reflect.InvocationTargetException > at org.apache.geronimo.gbean.jmx.GBeanMBeanOperation.invoke(GBeanMBeanOperation.java:146) > at org.apache.geronimo.gbean.jmx.GBeanMBean.invoke(GBeanMBean.java:823) > at org.apache.geronimo.gbean.jmx.RawInvoker.invoke(RawInvoker.java:89) > at org.apache.geronimo.gbean.jmx.RawOperationInvoker.invoke(RawOperationInvoker.java:34) > at org.apache.geronimo.gbean.jmx.CGLibMethodInterceptor.intercept(CGLibMethodInterceptor.java:112) > at org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$45c69f36.updateConfiguration() > at org.apache.geronimo.kernel.config.Configuration.doStop(Configuration.java:269) > at org.apache.geronimo.gbean.jmx.GBeanMBean.doStop(GBeanMBean.java:622) > at org.apache.geronimo.gbean.jmx.AbstractManagedObject.attemptFullStop(AbstractManagedObject.java:583) > at org.apache.geronimo.gbean.jmx.AbstractManagedObject.stop(AbstractManagedObject.java:396) > at org.apache.geronimo.gbean.jmx.GBeanMBean$12.invoke(GBeanMBean.java:1048) > at org.apache.geronimo.gbean.jmx.GBeanMBeanOperation.invoke(GBeanMBeanOperation.java:142) > at org.apache.geronimo.gbean.jmx.GBeanMBean.invoke(GBeanMBean.java:844) > at mx4j.server.interceptor.InvokerMBeanServerInterceptor.invoke(InvokerMBeanServerInterceptor.java:218) > at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:121) > at mx4j.server.interceptor.SecurityMBeanServerInterceptor.invoke(SecurityMBeanServerInterceptor.java:86) > at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:121) > at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:121) > at mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.invoke(ContextClassLoaderMBeanServerInterceptor.java:205) > at mx4j.server.MX4JMBeanServer.invoke(MX4JMBeanServer.java:1079) > at org.apache.geronimo.kernel.Kernel.invoke(Kernel.java:288) > at org.apache.geronimo.kernel.Kernel.invoke(Kernel.java:283) > at org.apache.geronimo.kernel.Kernel.stopGBean(Kernel.java:385) > ... 40 more > Caused by: java.lang.OutOfMemoryError > ----------------------------------- > And this exception block occurs in the server log: > ----------------------------------- > 07:53:57,796 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID org/apache/geronimo/DeployerSystem which ca > n not be loaded. > 07:53:57,796 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID org/apache/geronimo/DebugConsole which can > not be loaded. > 07:53:57,796 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID org/apache/geronimo/ClientSystem which can > not be loaded. > 07:53:57,812 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID org/apache/geronimo/J2EEDeployer which can > not be loaded. > 07:53:57,812 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID org/apache/geronimo/Client which can not be > loaded. > 07:53:57,812 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID org/apache/geronimo/Secure which can not be > loaded. > 07:53:58,265 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID org/apache/geronimo/System which can not be > loaded. > 07:53:58,265 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID org/apache/geronimo/SystemJMS which can not > be loaded. > 07:53:58,281 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID org/apache/geronimo/Demo which can not be l > oaded. > 07:53:58,281 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID minimaltest which can not be loaded. > 07:53:58,281 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID org/apache/geronimo/Server which can not be > loaded. > 07:53:58,281 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID org/apache/geronimo/DefaultDatabase which c > an not be loaded. > 07:53:58,281 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID org/apache/geronimo/SystemDatabase which ca > n not be loaded. > 07:53:58,281 ERROR [ConfigurationManagerImpl] [org.apache.geronimo.kernel.config > .ConfigurationStore$$EnhancerByCGLIB$$45c69f36: geronimo.system:role=Configurati > onStore,type=Local] defines configID org/apache/geronimo/ActiveMQServer which ca > n not be loaded. > 07:53:58,312 INFO [Configuration] Stopping configuration minimaltest > 07:53:58,312 WARN [Configuration] Could not unregister child geronimo.server:J2 > EEApplication=null,J2EEServer=geronimo,j2eeType=WebModule,name=minimaltest > javax.management.InstanceNotFoundException: MBeanServer cannot find MBean with O > bjectName geronimo.server:J2EEApplication=null,J2EEServer=geronimo,j2eeType=WebM > odule,name=minimaltest > at mx4j.server.MX4JMBeanServer.findMBeanMetaData(MX4JMBeanServer.java:49 > 1) > at mx4j.server.MX4JMBeanServer.unregisterMBean(MX4JMBeanServer.java:940) > at org.apache.geronimo.kernel.Kernel.unloadGBean(Kernel.java:395) > at org.apache.geronimo.kernel.config.Configuration.doStop(Configuration. > java:254) > at org.apache.geronimo.gbean.jmx.GBeanMBean.doStop(GBeanMBean.java:622) > at org.apache.geronimo.gbean.jmx.AbstractManagedObject.attemptFullStop(A > bstractManagedObject.java:583) > at org.apache.geronimo.gbean.jmx.AbstractManagedObject.stop(AbstractMana > gedObject.java:396) > at org.apache.geronimo.gbean.jmx.GBeanMBean$12.invoke(GBeanMBean.java:10 > 48) > at org.apache.geronimo.gbean.jmx.GBeanMBeanOperation.invoke(GBeanMBeanOp > eration.java:142) > at org.apache.geronimo.gbean.jmx.GBeanMBean.invoke(GBeanMBean.java:844) > at mx4j.server.interceptor.InvokerMBeanServerInterceptor.invoke(InvokerM > BeanServerInterceptor.java:218) > at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultM > BeanServerInterceptor.java:121) > at mx4j.server.interceptor.SecurityMBeanServerInterceptor.invoke(Securit > yMBeanServerInterceptor.java:86) > at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultM > BeanServerInterceptor.java:121) > at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultM > BeanServerInterceptor.java:121) > at mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.invo > ke(ContextClassLoaderMBeanServerInterceptor.java:205) > at mx4j.server.MX4JMBeanServer.invoke(MX4JMBeanServer.java:1079) > at org.apache.geronimo.kernel.Kernel.invoke(Kernel.java:288) > at org.apache.geronimo.kernel.Kernel.invoke(Kernel.java:283) > at org.apache.geronimo.kernel.Kernel.stopGBean(Kernel.java:385) > at org.apache.geronimo.kernel.Kernel.stopConfiguration(Kernel.java:431) > at sun.reflect.GeneratedMethodAccessor122.invoke(Unknown Source) > --------------------------------- -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://nagoya.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira