2 Replies Latest reply on Jan 9, 2006 5:00 PM by Fritz Feuerbacher

    Undeploying during shutdown generates

    Eric Smith Newbie

      I have a brand new install of JBoss 4.0.3SP1 with JBoss Portal 2.2.0 on a mysql 4.1 database using the mysql-connector-java-3.1.2.jar connector which I am assembling for development purposes. It is launched using the Java Service Wrapper (from wrapper.tanukisoftware.org).

      JBoss launched and shutdown fine after it was installed, but once I added the JBoss Portal package (dropping the jboss-portal.sar and my configured /setup/portal-mysql-ds.xml files into my deploy instance), I could launch JBoss and look at the portal, but when I attempted to shut it down, I received a sequence of stack dumps. They are all very similar and lead me to believe I have missed something in the portal configuration.

      Here is part of the log from the wrapper shutdown process:

      jvm 1 | 16:21:32,457 INFO [Server] Runtime shutdown hook called, forceHalt: true
      jvm 1 | 16:21:32,457 INFO [Server] JBoss SHUTDOWN: Undeploying all packages
      jvm 1 | 16:21:32,458 INFO [TomcatDeployer] undeploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/
      jvm 1 | 16:21:32,588 ERROR [MainDeployer] Undeployment failed: file:/opt/tools/jboss-4.0.3SP1/server/Polydactes/deploy/jboss-portal.sar/portal-samples.war/WEB-INF/portlet.xml
      jvm 1 | org.jboss.deployment.DeploymentException: This web app does not exist here; - nested throwable: (java.lang.IllegalArgumentException: This web app does not exist here)
      jvm 1 | at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:171)
      jvm 1 | at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:242)
      jvm 1 | at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:675)
      jvm 1 | at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:614)
      jvm 1 | at org.jboss.deployment.MainDeployer.shutdown(MainDeployer.java:500)
      jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      jvm 1 | at java.lang.reflect.Method.invoke(Method.java:585)
      jvm 1 | at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
      jvm 1 | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
      jvm 1 | at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
      jvm 1 | at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
      jvm 1 | at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
      jvm 1 | at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
      jvm 1 | at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
      jvm 1 | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
      jvm 1 | at org.jboss.system.server.ServerImpl$ShutdownHook.shutdownDeployments(ServerImpl.java:988)
      jvm 1 | at org.jboss.system.server.ServerImpl$ShutdownHook.shutdown(ServerImpl.java:963)
      jvm 1 | at org.jboss.system.server.ServerImpl$ShutdownHook.run(ServerImpl.java:941)
      jvm 1 | Caused by: java.lang.IllegalArgumentException: This web app does not exist here
      jvm 1 | at org.jboss.portal.server.impl.app.JBossWebAppRegistryImpl.unregisterWebApp(JBossWebAppRegistryImpl.java:87)
      jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      jvm 1 | at java.lang.reflect.Method.invoke(Method.java:585)
      jvm 1 | at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
      jvm 1 | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
      jvm 1 | at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
      jvm 1 | at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
      jvm 1 | at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
      jvm 1 | at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
      jvm 1 | at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
      jvm 1 | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
      jvm 1 | at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
      jvm 1 | at $Proxy64.unregisterWebApp(Unknown Source)
      jvm 1 | at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:166)
      jvm 1 | ... 19 more

      jvm 1 | 16:21:32,590 INFO [LayoutDeployment] destroying layout(s), found in : /portal
      jvm 1 | 16:21:32,590 INFO [LayoutDeployment] done destroying layout(s), found in : /portal
      jvm 1 | 16:21:32,591 INFO [LayoutDeployment] destroying layout(s), found in : /portal
      jvm 1 | 16:21:32,591 INFO [LayoutDeployment] done destroying layout(s), found in : /portal
      jvm 1 | 16:21:32,603 INFO [ThemeDeployment] destroying theme(s), found in : portal
      jvm 1 | 16:21:32,604 INFO [ThemeDeployment] done destroying theme(s), found in : portal
      jvm 1 | 16:21:32,604 INFO [LayoutDeployment] destroying layout(s), found in : portal
      jvm 1 | 16:21:32,605 INFO [LayoutDeployment] done destroying layout(s), found in : portal
      jvm 1 | 16:21:32,606 ERROR [MainDeployer] Undeployment failed: file:/opt/tools/jboss-4.0.3SP1/server/Polydactes/deploy/jboss-portal.sar/portal-core.war/WEB-INF/portlet.xml
      jvm 1 | org.jboss.deployment.DeploymentException: This web app does not exist here; - nested throwable: (java.lang.IllegalArgumentException: This web app does not exist here)
      jvm 1 | at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:171)
      jvm 1 | at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:242)
      jvm 1 | at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:675)
      jvm 1 | at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:614)
      jvm 1 | at org.jboss.deployment.MainDeployer.shutdown(MainDeployer.java:500)
      jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      jvm 1 | at java.lang.reflect.Method.invoke(Method.java:585)
      jvm 1 | at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
      jvm 1 | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
      jvm 1 | at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
      jvm 1 | at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
      jvm 1 | at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
      jvm 1 | at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
      jvm 1 | at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
      jvm 1 | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
      jvm 1 | at org.jboss.system.server.ServerImpl$ShutdownHook.shutdownDeployments(ServerImpl.java:988)
      jvm 1 | at org.jboss.system.server.ServerImpl$ShutdownHook.shutdown(ServerImpl.java:963)
      jvm 1 | at org.jboss.system.server.ServerImpl$ShutdownHook.run(ServerImpl.java:941)
      jvm 1 | Caused by: java.lang.IllegalArgumentException: This web app does not exist here
      jvm 1 | at org.jboss.portal.server.impl.app.JBossWebAppRegistryImpl.unregisterWebApp(JBossWebAppRegistryImpl.java:87)
      jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      jvm 1 | at java.lang.reflect.Method.invoke(Method.java:585)
      jvm 1 | at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
      jvm 1 | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
      jvm 1 | at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
      jvm 1 | at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
      jvm 1 | at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
      jvm 1 | at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
      jvm 1 | at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
      jvm 1 | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
      jvm 1 | at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
      jvm 1 | at $Proxy64.unregisterWebApp(Unknown Source)
      jvm 1 | at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:166)
      jvm 1 | ... 19 more


      The database configuration I used is :

      <?xml version="1.0" encoding="UTF-8"?>

      <datasources>
       <local-tx-datasource>
       <jndi-name>PortalDS</jndi-name>
       <connection-url>jdbc:mysql://localhost:3306/jbossportal?useServerPrepStmts=false</connection-url>
       <driver-class>org.gjt.mm.mysql.Driver</driver-class>
       <user-name>portaladmin</user-name>
       <password>************</password>
       </local-tx-datasource>
      </datasources>


      The user portaladmin is defined in the database will all privileges against the jbossportal database using both portaladmin@localhost and portaladmin@%.

      This occurred during installation validation so JBoss was being run as user 'root' using the following command:
      /opt/bin/wrapper /etc/jboss_svc.conf wrapper.pidfile=/opt/ref/jboss-as/JBoss.pid

      Which ultimately launches JBoss by calling org.jboss.Main with the parameters "-c Polydactes -b 130.38.52.48"

      Please assist me in isolating the problem.

      Thank you.

      Eric M. Smith