Geronimo
  1. Geronimo
  2. GERONIMO-3767

deploy process never completed after a failed deploy

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.1, 2.0.2, 2.0.x
    • Fix Version/s: 2.0.3, 2.1
    • Component/s: deployment
    • Security Level: public (Regular issues)
    • Labels:
      None

      Description

      Attempting to deploy proximity on 2.1, the deploy failed. After the failure, however, the deploy process never completed. Here's the failure plus stack traces from kill -3 on the deploy process.

      Exception in thread "Thread-7" java.lang.NoClassDefFoundError: org/apache/struts/taglib/html/FormTag
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
      at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
      at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
      at org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimizedClass(MultiParentClassLoader.java:422)
      at org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:278)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
      at org.apache.geronimo.jasper.deployment.JspModuleBuilderExtension.parseTldFile(JspModuleBuilderExtension.java:457)
      at org.apache.geronimo.jasper.deployment.JspModuleBuilderExtension.getListenerClasses(JspModuleBuilderExtension.java:420)
      at org.apache.geronimo.jasper.deployment.JspModuleBuilderExtension.createJspClassFinder(JspModuleBuilderExtension.java:180)
      at org.apache.geronimo.jasper.deployment.JspModuleBuilderExtension.addGBeans(JspModuleBuilderExtension.java:149)
      at org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.addGBeans(TomcatModuleBuilder.java:493)
      at org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.addGBeans(SwitchingModuleBuilder.java:165)
      at org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:646)
      at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:246)
      at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:125)
      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:585)
      at org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
      at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
      at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:867)
      at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
      at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:342)
      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:585)
      at org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
      at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
      at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:867)
      at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
      at org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:172)
      at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
      at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
      at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
      at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1410)
      at javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
      at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1247)
      at java.security.AccessController.doPrivileged(Native Method)
      at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1350)
      at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:784)
      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:585)
      at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
      at sun.rmi.transport.Transport$1.run(Transport.java:153)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
      at java.lang.Thread.run(Thread.java:613)
      Full thread dump Java HotSpot(TM) Client VM (1.5.0_13-119 mixed mode, sharing):

      "Thread-5" daemon prio=5 tid=0x0102a750 nid=0x89ce00 waiting on condition [0xb1092000..0xb1092d90]
      at java.lang.Thread.sleep(Native Method)
      at com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.run(ClientCommunicatorAdmin.java:154)
      at java.lang.Thread.run(Thread.java:613)

      "Timer-3" daemon prio=5 tid=0x0102a0c0 nid=0x8dd200 in Object.wait() [0xb1011000..0xb1011d90]
      at java.lang.Object.wait(Native Method)

      • waiting on <0x25c512a0> (a java.util.TaskQueue)
        at java.lang.Object.wait(Object.java:474)
        at java.util.TimerThread.mainLoop(Timer.java:483)
      • locked <0x25c512a0> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

      "GC Daemon" daemon prio=2 tid=0x01029700 nid=0x8dc400 in Object.wait() [0xb0f0f000..0xb0f0fd90]
      at java.lang.Object.wait(Native Method)

      • waiting on <0x25c51310> (a sun.misc.GC$LatencyLock)
        at sun.misc.GC$Daemon.run(GC.java:100)
      • locked <0x25c51310> (a sun.misc.GC$LatencyLock)

      "RMI RenewClean-[10.0.1.193:9999]" daemon prio=5 tid=0x010292e0 nid=0x82fc00 in Object.wait() [0xb0e8e000..0xb0e8ed90]
      at java.lang.Object.wait(Native Method)

      • waiting on <0x25c51378> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
      • locked <0x25c51378> (a java.lang.ref.ReferenceQueue$Lock)
        at sun.rmi.transport.DGCClient$EndpointEntry$RenewCleanThread.run(DGCClient.java:501)
        at java.lang.Thread.run(Thread.java:613)

      "Timer-2" daemon prio=5 tid=0x01020ad0 nid=0x82e000 in Object.wait() [0xb0d8c000..0xb0d8cd90]
      at java.lang.Object.wait(Native Method)

      • waiting on <0x25be1cb8> (a java.util.TaskQueue)
        at java.util.TimerThread.mainLoop(Timer.java:509)
      • locked <0x25be1cb8> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

      "Timer-0" daemon prio=5 tid=0x0101fbe0 nid=0x8cc200 in Object.wait() [0xb0c8a000..0xb0c8ad90]
      at java.lang.Object.wait(Native Method)

      • waiting on <0x25bdccb0> (a java.util.TaskQueue)
        at java.lang.Object.wait(Object.java:474)
        at java.util.TimerThread.mainLoop(Timer.java:483)
      • locked <0x25bdccb0> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

      "Low Memory Detector" daemon prio=5 tid=0x010091a0 nid=0x808400 runnable [0x00000000..0x00000000]

      "CompilerThread0" daemon prio=9 tid=0x01008770 nid=0x807600 waiting on condition [0x00000000..0xb0b077d8]

      "Signal Dispatcher" daemon prio=9 tid=0x01008270 nid=0x806800 waiting on condition [0x00000000..0x00000000]

      "Finalizer" daemon prio=8 tid=0x01007aa0 nid=0x817a00 in Object.wait() [0xb0a05000..0xb0a05d90]
      at java.lang.Object.wait(Native Method)

      • waiting on <0x25a7ba08> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
      • locked <0x25a7ba08> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

      "Reference Handler" daemon prio=10 tid=0x010076c0 nid=0x816200 in Object.wait() [0xb0984000..0xb0984d90]
      at java.lang.Object.wait(Native Method)

      • waiting on <0x25a7ba88> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:474)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
      • locked <0x25a7ba88> (a java.lang.ref.Reference$Lock)

      "main" prio=5 tid=0x01001560 nid=0xb0801000 waiting on condition [0xb07ff000..0xb0800188]
      at java.lang.Thread.sleep(Native Method)
      at org.apache.geronimo.deployment.cli.AbstractCommand.waitForProgress(AbstractCommand.java:83)
      at org.apache.geronimo.deployment.cli.CommandDeploy.runCommand(CommandDeploy.java:43)
      at org.apache.geronimo.deployment.cli.CommandDistribute.executeOnline(CommandDistribute.java:141)
      at org.apache.geronimo.deployment.cli.CommandDistribute.execute(CommandDistribute.java:117)
      at org.apache.geronimo.deployment.cli.DeployTool.execute(DeployTool.java:164)
      at org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:45)
      at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
      at org.apache.geronimo.cli.deployer.DeployerCLI.main(DeployerCLI.java:31)

      "VM Thread" prio=9 tid=0x01006e10 nid=0x80c600 runnable

      "VM Periodic Task Thread" prio=9 tid=0x01009da0 nid=0x819c00 waiting on condition

      "Exception Catcher Thread" prio=10 tid=0x010017e0 nid=0x80a800 runnable

        Activity

        Hide
        Vamsavardhana Reddy added a comment -

        I have noticed this while installing a plugin using deployer. I should have reported this earlier. 2.0.x is also affected by this issue.

        Show
        Vamsavardhana Reddy added a comment - I have noticed this while installing a plugin using deployer. I should have reported this earlier. 2.0.x is also affected by this issue.
        Hide
        Jarek Gawor added a comment -

        If deployment failed with an Error (such as java.lang.NoClassDefFoundError) the state of the deployment process was not be updated at all. The deployer process checks the state periodically and since the state was never updated the deployer would keep looping forever.

        Committed fixes to trunk (revision 61508) and branches/2.0 (revision 615086).

        The proximity application still doesn't deploy but at least the deployer does not hang anymore

        Show
        Jarek Gawor added a comment - If deployment failed with an Error (such as java.lang.NoClassDefFoundError) the state of the deployment process was not be updated at all. The deployer process checks the state periodically and since the state was never updated the deployer would keep looping forever. Committed fixes to trunk (revision 61508) and branches/2.0 (revision 615086). The proximity application still doesn't deploy but at least the deployer does not hang anymore

          People

          • Assignee:
            Jarek Gawor
            Reporter:
            Kevan Miller
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development