You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "John Sisson (JIRA)" <de...@geronimo.apache.org> on 2006/05/01 14:42:46 UTC

[jira] Created: (GERONIMO-1954) Failed web app deployment cannot be undeployed

Failed web app deployment cannot be undeployed
----------------------------------------------

         Key: GERONIMO-1954
         URL: http://issues.apache.org/jira/browse/GERONIMO-1954
     Project: Geronimo
        Type: Bug
    Security: public (Regular issues) 
  Components: deployment  
    Versions: 1.1    
    Reporter: John Sisson
    Priority: Blocker
     Fix For: 1.1


Encountered the situation where deploying a web app in an ear where the web app has not been configured correctly you will get a deployment error, but the since deployment didn't complete, a config.ser file wasn't written to the repository, although other files for the configuration were written to the repository.

If you attempt to undeploy, you will get a "configId does not appear to be a the name of a module available on the selected server." error message.  This is due to undeploy processing  (see debug info below) calling listConfigurations() that relies upon config.ser being present.

Debugging notes .... 

#
# Initial deployment attempt of an ear that has an error during deployment
#

C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
Using JRE_HOME:        C:\j2sdk1.4.2_10
    Error: Unable to distribute myTest.ear: web.xml includes
    security elements but Geronimo deployment plan is not provided or
    does not contain <security-realm-name> element necessary to
    configure security accordingly.


Deployment creates a configuration dir in the repository..

System Thread [RMI TCP Connection(885)-172.21.35.100] (Suspended (entry into method createNewConfigurationDir in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 171 (out of synch)
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP>
    org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP>
    org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
    org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
    org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
    <RMI Call>

Files/dirs are added to the repository from the ear

System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
    org.apache.geronimo.deployment.CopyResourceContext.addFile(java.io.File, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 158
    org.apache.geronimo.deployment.CopyResourceContext.addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 132
    org.apache.geronimo.j2ee.deployment.EARContext(org.apache.geronimo.deployment.DeploymentContext).addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 311
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 450
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP>

Tomcat Builder throws deployment exception leaving files previously added in repo, but no config.ser is in the repo.

System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
    org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 269
    org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder$$FastClassByCGLIB$$6f85ec2c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
    org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 155
    org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder$$FastClassByCGLIB$$d0c31844.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 470
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
    org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
    org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
    org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP>
 
#
# Attempt to deploy again (thinking that since the previous deploy failed you won't need to undeploy)
#

C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
Using JRE_HOME:        C:\j2sdk1.4.2_10
    Error: Unable to distribute myTest.ear:
    org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException:
    Configuration already exists:
    com.foo.bar/my-app/3.4/car

        Configuration already exists:
    com.foo.bar/my-app/3.4/car


Stack trace from deploy...    
    
System Thread [RMI TCP Connection(49)-172.21.35.100] (Suspended (exception org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException))
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 176
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    <SNIP>

#
# Attempt to undeploy the failed deployment.  The listConfigurations() processing is looking for a config.ser file.
#

C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager undeploy com.foo.bar/my-app/3.4/car
Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
Using JRE_HOME:        C:\j2sdk1.4.2_10
    Error:
    com.foo.bar/my-app/3.4/car does
    not appear to be a the name of a module available on the selected
    server. Perhaps it has already been stopped or undeployed?  If
    you're trying to specify a TargetModuleID, use the syntax
    TargetName|ModuleName instead. If you're not sure what's running,
    try the list-modules command.
    
    
System Thread [RMI TCP Connection(854)-172.21.35.100] (Suspended (entry into method listConfigurations in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore.listConfigurations() line: 359 (out of synch)
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.listConfigurations() line: not available
    org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.kernel.config.ConfigurationStore) line: 168
    org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.gbean.AbstractName) line: 161
    org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP - RMI Call>
    org.apache.geronimo.system.jmx.JMXProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 89
    org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$bed46791.listConfigurations(org.apache.geronimo.gbean.AbstractName) line: not available
    org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getModules(javax.enterprise.deploy.spi.Target[], org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager$ConfigFilter) line: 142
    org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getAvailableModules(javax.enterprise.deploy.shared.ModuleType, javax.enterprise.deploy.spi.Target[]) line: 108
    org.apache.geronimo.deployment.cli.CommandUndeploy(org.apache.geronimo.deployment.cli.CommandStart).execute(java.io.PrintWriter, org.apache.geronimo.deployment.cli.ServerConnection, java.lang.String[]) line: 60
    org.apache.geronimo.deployment.cli.DeployTool.execute(java.lang.String[]) line: 158
    org.apache.geronimo.deployment.cli.DeployTool.main(java.lang.String[]) line: 312
    


    
    

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Closed: (GERONIMO-1954) Failed web app deployment cannot be undeployed

Posted by "John Sisson (JIRA)" <de...@geronimo.apache.org>.
     [ http://issues.apache.org/jira/browse/GERONIMO-1954?page=all ]
     
John Sisson closed GERONIMO-1954:
---------------------------------

    Resolution: Duplicate

> Failed web app deployment cannot be undeployed
> ----------------------------------------------
>
>          Key: GERONIMO-1954
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1954
>      Project: Geronimo
>         Type: Bug
>     Security: public(Regular issues) 
>   Components: deployment
>     Versions: 1.1
>  Environment: Windows XP
>     Reporter: John Sisson
>     Priority: Blocker
>      Fix For: 1.1

>
> Encountered the situation where if you get a deployment error for a web app in an ear where the ear also has an ejb jar in it, the files written to the repository for the ear are not cleaned up due to a file lock on the ejb jar file in the repository.
> The EARConfigBuilder attempted to delete the files by calling DeploymentUtil.recursiveDelete(..) but the cleanup didn't work due to the ejb file being in use (probably by a classloader created during the OpenEJBModuleBuilder's initContext(..) processing.
> If you attempt to undeploy, you will get a "configId does not appear to be a the name of a module available on the selected server." error message.  This is due to undeploy processing  (see debug info below) calling listConfigurations() that relies upon config.ser being present.
> If you attempt to deploy again you get a ConfigurationAlreadyExists exception due to the call to RepositoryConfigurationStore.createNewConfigurationDir(..) checking that the directory does not already exist.
> Debugging notes .... 
> #
> # Initial deployment attempt of an ear that has an error during deployment
> #
> C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
> Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
> Using JRE_HOME:        C:\j2sdk1.4.2_10
>     Error: Unable to distribute myTest.ear: web.xml includes
>     security elements but Geronimo deployment plan is not provided or
>     does not contain <security-realm-name> element necessary to
>     configure security accordingly.
> Deployment creates a configuration dir in the repository..
> System Thread [RMI TCP Connection(885)-172.21.35.100] (Suspended (entry into method createNewConfigurationDir in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 171 (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
>     org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
>     org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
>     <RMI Call>
> Files/dirs are added to the repository from the ear
> System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
>     org.apache.geronimo.deployment.CopyResourceContext.addFile(java.io.File, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 158
>     org.apache.geronimo.deployment.CopyResourceContext.addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 132
>     org.apache.geronimo.j2ee.deployment.EARContext(org.apache.geronimo.deployment.DeploymentContext).addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 311
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 450
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
> Tomcat Builder throws deployment exception leaving files previously added in repo, but no config.ser is in the repo.
> System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
>     org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 269
>     org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder$$FastClassByCGLIB$$6f85ec2c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
>     org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 155
>     org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder$$FastClassByCGLIB$$d0c31844.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 470
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
>     org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
>  
> #
> # Attempt to deploy again (thinking that since the previous deploy failed you won't need to undeploy)
> #
> C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
> Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
> Using JRE_HOME:        C:\j2sdk1.4.2_10
>     Error: Unable to distribute myTest.ear:
>     org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException:
>     Configuration already exists:
>     com.foo.bar/my-app/3.4/car
>         Configuration already exists:
>     com.foo.bar/my-app/3.4/car
> Stack trace from deploy...    
>     
> System Thread [RMI TCP Connection(49)-172.21.35.100] (Suspended (exception org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException))
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 176
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     <SNIP>
> #
> # Attempt to undeploy the failed deployment.  The listConfigurations() processing is looking for a config.ser file.
> #
> C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager undeploy com.foo.bar/my-app/3.4/car
> Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
> Using JRE_HOME:        C:\j2sdk1.4.2_10
>     Error:
>     com.foo.bar/my-app/3.4/car does
>     not appear to be a the name of a module available on the selected
>     server. Perhaps it has already been stopped or undeployed?  If
>     you're trying to specify a TargetModuleID, use the syntax
>     TargetName|ModuleName instead. If you're not sure what's running,
>     try the list-modules command.
>     
>     
> System Thread [RMI TCP Connection(854)-172.21.35.100] (Suspended (entry into method listConfigurations in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore.listConfigurations() line: 359 (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.listConfigurations() line: not available
>     org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.kernel.config.ConfigurationStore) line: 168
>     org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.gbean.AbstractName) line: 161
>     org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP - RMI Call>
>     org.apache.geronimo.system.jmx.JMXProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 89
>     org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$bed46791.listConfigurations(org.apache.geronimo.gbean.AbstractName) line: not available
>     org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getModules(javax.enterprise.deploy.spi.Target[], org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager$ConfigFilter) line: 142
>     org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getAvailableModules(javax.enterprise.deploy.shared.ModuleType, javax.enterprise.deploy.spi.Target[]) line: 108
>     org.apache.geronimo.deployment.cli.CommandUndeploy(org.apache.geronimo.deployment.cli.CommandStart).execute(java.io.PrintWriter, org.apache.geronimo.deployment.cli.ServerConnection, java.lang.String[]) line: 60
>     org.apache.geronimo.deployment.cli.DeployTool.execute(java.lang.String[]) line: 158
>     org.apache.geronimo.deployment.cli.DeployTool.main(java.lang.String[]) line: 312
>     
>     
>     

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (GERONIMO-1954) Failed web app deployment cannot be undeployed

Posted by "John Sisson (JIRA)" <de...@geronimo.apache.org>.
     [ http://issues.apache.org/jira/browse/GERONIMO-1954?page=all ]

John Sisson updated GERONIMO-1954:
----------------------------------

    Environment: Windows XP

> Failed web app deployment cannot be undeployed
> ----------------------------------------------
>
>          Key: GERONIMO-1954
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1954
>      Project: Geronimo
>         Type: Bug
>     Security: public(Regular issues) 
>   Components: deployment
>     Versions: 1.1
>  Environment: Windows XP
>     Reporter: John Sisson
>     Priority: Blocker
>      Fix For: 1.1

>
> Encountered the situation where if you get a deployment error for a web app in an ear where the ear also has an ejb jar in it, the files written to the repository for the ear are not cleaned up due to a file lock on the ejb jar file in the repository.
> The EARConfigBuilder attempted to delete the files by calling DeploymentUtil.recursiveDelete(..) but the cleanup didn't work due to the ejb file being in use (probably by a classloader created during the OpenEJBModuleBuilder's initContext(..) processing.
> If you attempt to undeploy, you will get a "configId does not appear to be a the name of a module available on the selected server." error message.  This is due to undeploy processing  (see debug info below) calling listConfigurations() that relies upon config.ser being present.
> If you attempt to deploy again you get a ConfigurationAlreadyExists exception due to the call to RepositoryConfigurationStore.createNewConfigurationDir(..) checking that the directory does not already exist.
> Debugging notes .... 
> #
> # Initial deployment attempt of an ear that has an error during deployment
> #
> C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
> Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
> Using JRE_HOME:        C:\j2sdk1.4.2_10
>     Error: Unable to distribute myTest.ear: web.xml includes
>     security elements but Geronimo deployment plan is not provided or
>     does not contain <security-realm-name> element necessary to
>     configure security accordingly.
> Deployment creates a configuration dir in the repository..
> System Thread [RMI TCP Connection(885)-172.21.35.100] (Suspended (entry into method createNewConfigurationDir in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 171 (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
>     org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
>     org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
>     <RMI Call>
> Files/dirs are added to the repository from the ear
> System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
>     org.apache.geronimo.deployment.CopyResourceContext.addFile(java.io.File, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 158
>     org.apache.geronimo.deployment.CopyResourceContext.addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 132
>     org.apache.geronimo.j2ee.deployment.EARContext(org.apache.geronimo.deployment.DeploymentContext).addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 311
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 450
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
> Tomcat Builder throws deployment exception leaving files previously added in repo, but no config.ser is in the repo.
> System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
>     org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 269
>     org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder$$FastClassByCGLIB$$6f85ec2c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
>     org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 155
>     org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder$$FastClassByCGLIB$$d0c31844.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 470
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
>     org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
>  
> #
> # Attempt to deploy again (thinking that since the previous deploy failed you won't need to undeploy)
> #
> C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
> Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
> Using JRE_HOME:        C:\j2sdk1.4.2_10
>     Error: Unable to distribute myTest.ear:
>     org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException:
>     Configuration already exists:
>     com.foo.bar/my-app/3.4/car
>         Configuration already exists:
>     com.foo.bar/my-app/3.4/car
> Stack trace from deploy...    
>     
> System Thread [RMI TCP Connection(49)-172.21.35.100] (Suspended (exception org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException))
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 176
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     <SNIP>
> #
> # Attempt to undeploy the failed deployment.  The listConfigurations() processing is looking for a config.ser file.
> #
> C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager undeploy com.foo.bar/my-app/3.4/car
> Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
> Using JRE_HOME:        C:\j2sdk1.4.2_10
>     Error:
>     com.foo.bar/my-app/3.4/car does
>     not appear to be a the name of a module available on the selected
>     server. Perhaps it has already been stopped or undeployed?  If
>     you're trying to specify a TargetModuleID, use the syntax
>     TargetName|ModuleName instead. If you're not sure what's running,
>     try the list-modules command.
>     
>     
> System Thread [RMI TCP Connection(854)-172.21.35.100] (Suspended (entry into method listConfigurations in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore.listConfigurations() line: 359 (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.listConfigurations() line: not available
>     org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.kernel.config.ConfigurationStore) line: 168
>     org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.gbean.AbstractName) line: 161
>     org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP - RMI Call>
>     org.apache.geronimo.system.jmx.JMXProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 89
>     org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$bed46791.listConfigurations(org.apache.geronimo.gbean.AbstractName) line: not available
>     org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getModules(javax.enterprise.deploy.spi.Target[], org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager$ConfigFilter) line: 142
>     org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getAvailableModules(javax.enterprise.deploy.shared.ModuleType, javax.enterprise.deploy.spi.Target[]) line: 108
>     org.apache.geronimo.deployment.cli.CommandUndeploy(org.apache.geronimo.deployment.cli.CommandStart).execute(java.io.PrintWriter, org.apache.geronimo.deployment.cli.ServerConnection, java.lang.String[]) line: 60
>     org.apache.geronimo.deployment.cli.DeployTool.execute(java.lang.String[]) line: 158
>     org.apache.geronimo.deployment.cli.DeployTool.main(java.lang.String[]) line: 312
>     
>     
>     

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (GERONIMO-1954) Failed web app deployment cannot be undeployed

Posted by "John Sisson (JIRA)" <de...@geronimo.apache.org>.
     [ http://issues.apache.org/jira/browse/GERONIMO-1954?page=all ]

John Sisson updated GERONIMO-1954:
----------------------------------

    Description: 
Encountered the situation where if you get a deployment error for a web app in an ear where the ear also has an ejb jar in it, the files written to the repository for the ear are not cleaned up due to a file lock on the ejb jar file in the repository.

The EARConfigBuilder attempted to delete the files by calling DeploymentUtil.recursiveDelete(..) but the cleanup didn't work due to the ejb file being in use (probably by a classloader created during the OpenEJBModuleBuilder's initContext(..) processing.

If you attempt to undeploy, you will get a "configId does not appear to be a the name of a module available on the selected server." error message.  This is due to undeploy processing  (see debug info below) calling listConfigurations() that relies upon config.ser being present.

If you attempt to deploy again you get a ConfigurationAlreadyExists exception due to the call to RepositoryConfigurationStore.createNewConfigurationDir(..) checking that the directory does not already exist.

Debugging notes .... 

#
# Initial deployment attempt of an ear that has an error during deployment
#

C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
Using JRE_HOME:        C:\j2sdk1.4.2_10
    Error: Unable to distribute myTest.ear: web.xml includes
    security elements but Geronimo deployment plan is not provided or
    does not contain <security-realm-name> element necessary to
    configure security accordingly.


Deployment creates a configuration dir in the repository..

System Thread [RMI TCP Connection(885)-172.21.35.100] (Suspended (entry into method createNewConfigurationDir in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 171 (out of synch)
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP>
    org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP>
    org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
    org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
    org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
    <RMI Call>

Files/dirs are added to the repository from the ear

System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
    org.apache.geronimo.deployment.CopyResourceContext.addFile(java.io.File, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 158
    org.apache.geronimo.deployment.CopyResourceContext.addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 132
    org.apache.geronimo.j2ee.deployment.EARContext(org.apache.geronimo.deployment.DeploymentContext).addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 311
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 450
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP>

Tomcat Builder throws deployment exception leaving files previously added in repo, but no config.ser is in the repo.

System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
    org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 269
    org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder$$FastClassByCGLIB$$6f85ec2c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
    org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 155
    org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder$$FastClassByCGLIB$$d0c31844.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 470
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
    org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
    org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
    org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP>
 
#
# Attempt to deploy again (thinking that since the previous deploy failed you won't need to undeploy)
#

C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
Using JRE_HOME:        C:\j2sdk1.4.2_10
    Error: Unable to distribute myTest.ear:
    org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException:
    Configuration already exists:
    com.foo.bar/my-app/3.4/car

        Configuration already exists:
    com.foo.bar/my-app/3.4/car


Stack trace from deploy...    
    
System Thread [RMI TCP Connection(49)-172.21.35.100] (Suspended (exception org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException))
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 176
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    <SNIP>

#
# Attempt to undeploy the failed deployment.  The listConfigurations() processing is looking for a config.ser file.
#

C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager undeploy com.foo.bar/my-app/3.4/car
Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
Using JRE_HOME:        C:\j2sdk1.4.2_10
    Error:
    com.foo.bar/my-app/3.4/car does
    not appear to be a the name of a module available on the selected
    server. Perhaps it has already been stopped or undeployed?  If
    you're trying to specify a TargetModuleID, use the syntax
    TargetName|ModuleName instead. If you're not sure what's running,
    try the list-modules command.
    
    
System Thread [RMI TCP Connection(854)-172.21.35.100] (Suspended (entry into method listConfigurations in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore.listConfigurations() line: 359 (out of synch)
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.listConfigurations() line: not available
    org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.kernel.config.ConfigurationStore) line: 168
    org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.gbean.AbstractName) line: 161
    org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP - RMI Call>
    org.apache.geronimo.system.jmx.JMXProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 89
    org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$bed46791.listConfigurations(org.apache.geronimo.gbean.AbstractName) line: not available
    org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getModules(javax.enterprise.deploy.spi.Target[], org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager$ConfigFilter) line: 142
    org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getAvailableModules(javax.enterprise.deploy.shared.ModuleType, javax.enterprise.deploy.spi.Target[]) line: 108
    org.apache.geronimo.deployment.cli.CommandUndeploy(org.apache.geronimo.deployment.cli.CommandStart).execute(java.io.PrintWriter, org.apache.geronimo.deployment.cli.ServerConnection, java.lang.String[]) line: 60
    org.apache.geronimo.deployment.cli.DeployTool.execute(java.lang.String[]) line: 158
    org.apache.geronimo.deployment.cli.DeployTool.main(java.lang.String[]) line: 312
    


    
    

  was:
Encountered the situation where deploying a web app in an ear where the web app has not been configured correctly you will get a deployment error, but the since deployment didn't complete, a config.ser file wasn't written to the repository, although other files for the configuration were written to the repository.

If you attempt to undeploy, you will get a "configId does not appear to be a the name of a module available on the selected server." error message.  This is due to undeploy processing  (see debug info below) calling listConfigurations() that relies upon config.ser being present.

Debugging notes .... 

#
# Initial deployment attempt of an ear that has an error during deployment
#

C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
Using JRE_HOME:        C:\j2sdk1.4.2_10
    Error: Unable to distribute myTest.ear: web.xml includes
    security elements but Geronimo deployment plan is not provided or
    does not contain <security-realm-name> element necessary to
    configure security accordingly.


Deployment creates a configuration dir in the repository..

System Thread [RMI TCP Connection(885)-172.21.35.100] (Suspended (entry into method createNewConfigurationDir in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 171 (out of synch)
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP>
    org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP>
    org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
    org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
    org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
    <RMI Call>

Files/dirs are added to the repository from the ear

System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
    org.apache.geronimo.deployment.CopyResourceContext.addFile(java.io.File, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 158
    org.apache.geronimo.deployment.CopyResourceContext.addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 132
    org.apache.geronimo.j2ee.deployment.EARContext(org.apache.geronimo.deployment.DeploymentContext).addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 311
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 450
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP>

Tomcat Builder throws deployment exception leaving files previously added in repo, but no config.ser is in the repo.

System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
    org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 269
    org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder$$FastClassByCGLIB$$6f85ec2c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
    org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 155
    org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder$$FastClassByCGLIB$$d0c31844.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 470
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
    org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
    org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
    org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP>
 
#
# Attempt to deploy again (thinking that since the previous deploy failed you won't need to undeploy)
#

C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
Using JRE_HOME:        C:\j2sdk1.4.2_10
    Error: Unable to distribute myTest.ear:
    org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException:
    Configuration already exists:
    com.foo.bar/my-app/3.4/car

        Configuration already exists:
    com.foo.bar/my-app/3.4/car


Stack trace from deploy...    
    
System Thread [RMI TCP Connection(49)-172.21.35.100] (Suspended (exception org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException))
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 176
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
    org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    <SNIP>

#
# Attempt to undeploy the failed deployment.  The listConfigurations() processing is looking for a config.ser file.
#

C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager undeploy com.foo.bar/my-app/3.4/car
Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
Using JRE_HOME:        C:\j2sdk1.4.2_10
    Error:
    com.foo.bar/my-app/3.4/car does
    not appear to be a the name of a module available on the selected
    server. Perhaps it has already been stopped or undeployed?  If
    you're trying to specify a TargetModuleID, use the syntax
    TargetName|ModuleName instead. If you're not sure what's running,
    try the list-modules command.
    
    
System Thread [RMI TCP Connection(854)-172.21.35.100] (Suspended (entry into method listConfigurations in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore.listConfigurations() line: 359 (out of synch)
    org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
    org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
    org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
    org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
    org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.listConfigurations() line: not available
    org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.kernel.config.ConfigurationStore) line: 168
    org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.gbean.AbstractName) line: 161
    org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
    <SNIP - RMI Call>
    org.apache.geronimo.system.jmx.JMXProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 89
    org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$bed46791.listConfigurations(org.apache.geronimo.gbean.AbstractName) line: not available
    org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getModules(javax.enterprise.deploy.spi.Target[], org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager$ConfigFilter) line: 142
    org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getAvailableModules(javax.enterprise.deploy.shared.ModuleType, javax.enterprise.deploy.spi.Target[]) line: 108
    org.apache.geronimo.deployment.cli.CommandUndeploy(org.apache.geronimo.deployment.cli.CommandStart).execute(java.io.PrintWriter, org.apache.geronimo.deployment.cli.ServerConnection, java.lang.String[]) line: 60
    org.apache.geronimo.deployment.cli.DeployTool.execute(java.lang.String[]) line: 158
    org.apache.geronimo.deployment.cli.DeployTool.main(java.lang.String[]) line: 312
    


    
    


> Failed web app deployment cannot be undeployed
> ----------------------------------------------
>
>          Key: GERONIMO-1954
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1954
>      Project: Geronimo
>         Type: Bug
>     Security: public(Regular issues) 
>   Components: deployment
>     Versions: 1.1
>     Reporter: John Sisson
>     Priority: Blocker
>      Fix For: 1.1

>
> Encountered the situation where if you get a deployment error for a web app in an ear where the ear also has an ejb jar in it, the files written to the repository for the ear are not cleaned up due to a file lock on the ejb jar file in the repository.
> The EARConfigBuilder attempted to delete the files by calling DeploymentUtil.recursiveDelete(..) but the cleanup didn't work due to the ejb file being in use (probably by a classloader created during the OpenEJBModuleBuilder's initContext(..) processing.
> If you attempt to undeploy, you will get a "configId does not appear to be a the name of a module available on the selected server." error message.  This is due to undeploy processing  (see debug info below) calling listConfigurations() that relies upon config.ser being present.
> If you attempt to deploy again you get a ConfigurationAlreadyExists exception due to the call to RepositoryConfigurationStore.createNewConfigurationDir(..) checking that the directory does not already exist.
> Debugging notes .... 
> #
> # Initial deployment attempt of an ear that has an error during deployment
> #
> C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
> Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
> Using JRE_HOME:        C:\j2sdk1.4.2_10
>     Error: Unable to distribute myTest.ear: web.xml includes
>     security elements but Geronimo deployment plan is not provided or
>     does not contain <security-realm-name> element necessary to
>     configure security accordingly.
> Deployment creates a configuration dir in the repository..
> System Thread [RMI TCP Connection(885)-172.21.35.100] (Suspended (entry into method createNewConfigurationDir in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 171 (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
>     org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
>     org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
>     <RMI Call>
> Files/dirs are added to the repository from the ear
> System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
>     org.apache.geronimo.deployment.CopyResourceContext.addFile(java.io.File, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 158
>     org.apache.geronimo.deployment.CopyResourceContext.addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 132
>     org.apache.geronimo.j2ee.deployment.EARContext(org.apache.geronimo.deployment.DeploymentContext).addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 311
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 450
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
> Tomcat Builder throws deployment exception leaving files previously added in repo, but no config.ser is in the repo.
> System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
>     org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 269
>     org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder$$FastClassByCGLIB$$6f85ec2c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
>     org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 155
>     org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder$$FastClassByCGLIB$$d0c31844.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 470
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
>     org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
>  
> #
> # Attempt to deploy again (thinking that since the previous deploy failed you won't need to undeploy)
> #
> C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
> Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
> Using JRE_HOME:        C:\j2sdk1.4.2_10
>     Error: Unable to distribute myTest.ear:
>     org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException:
>     Configuration already exists:
>     com.foo.bar/my-app/3.4/car
>         Configuration already exists:
>     com.foo.bar/my-app/3.4/car
> Stack trace from deploy...    
>     
> System Thread [RMI TCP Connection(49)-172.21.35.100] (Suspended (exception org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException))
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 176
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     <SNIP>
> #
> # Attempt to undeploy the failed deployment.  The listConfigurations() processing is looking for a config.ser file.
> #
> C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager undeploy com.foo.bar/my-app/3.4/car
> Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
> Using JRE_HOME:        C:\j2sdk1.4.2_10
>     Error:
>     com.foo.bar/my-app/3.4/car does
>     not appear to be a the name of a module available on the selected
>     server. Perhaps it has already been stopped or undeployed?  If
>     you're trying to specify a TargetModuleID, use the syntax
>     TargetName|ModuleName instead. If you're not sure what's running,
>     try the list-modules command.
>     
>     
> System Thread [RMI TCP Connection(854)-172.21.35.100] (Suspended (entry into method listConfigurations in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore.listConfigurations() line: 359 (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.listConfigurations() line: not available
>     org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.kernel.config.ConfigurationStore) line: 168
>     org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.gbean.AbstractName) line: 161
>     org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP - RMI Call>
>     org.apache.geronimo.system.jmx.JMXProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 89
>     org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$bed46791.listConfigurations(org.apache.geronimo.gbean.AbstractName) line: not available
>     org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getModules(javax.enterprise.deploy.spi.Target[], org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager$ConfigFilter) line: 142
>     org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getAvailableModules(javax.enterprise.deploy.shared.ModuleType, javax.enterprise.deploy.spi.Target[]) line: 108
>     org.apache.geronimo.deployment.cli.CommandUndeploy(org.apache.geronimo.deployment.cli.CommandStart).execute(java.io.PrintWriter, org.apache.geronimo.deployment.cli.ServerConnection, java.lang.String[]) line: 60
>     org.apache.geronimo.deployment.cli.DeployTool.execute(java.lang.String[]) line: 158
>     org.apache.geronimo.deployment.cli.DeployTool.main(java.lang.String[]) line: 312
>     
>     
>     

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (GERONIMO-1954) Failed web app deployment cannot be undeployed

Posted by "John Sisson (JIRA)" <de...@geronimo.apache.org>.
    [ http://issues.apache.org/jira/browse/GERONIMO-1954?page=comments#action_12377805 ] 

John Sisson commented on GERONIMO-1954:
---------------------------------------

tested with Dain's new classloader that is enabled using -DXorg.apache.geronimo.NewClassLoader=true  (http://issues.apache.org/jira/browse/GERONIMO-1979) and the problem is fixed. 

> Failed web app deployment cannot be undeployed
> ----------------------------------------------
>
>          Key: GERONIMO-1954
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1954
>      Project: Geronimo
>         Type: Bug
>     Security: public(Regular issues) 
>   Components: deployment
>     Versions: 1.1
>  Environment: Windows XP
>     Reporter: John Sisson
>     Priority: Blocker
>      Fix For: 1.1

>
> Encountered the situation where if you get a deployment error for a web app in an ear where the ear also has an ejb jar in it, the files written to the repository for the ear are not cleaned up due to a file lock on the ejb jar file in the repository.
> The EARConfigBuilder attempted to delete the files by calling DeploymentUtil.recursiveDelete(..) but the cleanup didn't work due to the ejb file being in use (probably by a classloader created during the OpenEJBModuleBuilder's initContext(..) processing.
> If you attempt to undeploy, you will get a "configId does not appear to be a the name of a module available on the selected server." error message.  This is due to undeploy processing  (see debug info below) calling listConfigurations() that relies upon config.ser being present.
> If you attempt to deploy again you get a ConfigurationAlreadyExists exception due to the call to RepositoryConfigurationStore.createNewConfigurationDir(..) checking that the directory does not already exist.
> Debugging notes .... 
> #
> # Initial deployment attempt of an ear that has an error during deployment
> #
> C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
> Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
> Using JRE_HOME:        C:\j2sdk1.4.2_10
>     Error: Unable to distribute myTest.ear: web.xml includes
>     security elements but Geronimo deployment plan is not provided or
>     does not contain <security-realm-name> element necessary to
>     configure security accordingly.
> Deployment creates a configuration dir in the repository..
> System Thread [RMI TCP Connection(885)-172.21.35.100] (Suspended (entry into method createNewConfigurationDir in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 171 (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
>     org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
>     org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
>     <RMI Call>
> Files/dirs are added to the repository from the ear
> System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
>     org.apache.geronimo.deployment.CopyResourceContext.addFile(java.io.File, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 158
>     org.apache.geronimo.deployment.CopyResourceContext.addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 132
>     org.apache.geronimo.j2ee.deployment.EARContext(org.apache.geronimo.deployment.DeploymentContext).addFile(java.net.URI, java.util.zip.ZipFile, java.util.zip.ZipEntry) line: 311
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 450
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
> Tomcat Builder throws deployment exception leaving files previously added in repo, but no config.ser is in the repo.
> System Thread [RMI TCP Connection(907)-172.21.35.100] (Suspended)
>     org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 269
>     org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder$$FastClassByCGLIB$$6f85ec2c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
>     org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: 155
>     org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder$$FastClassByCGLIB$$d0c31844.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$f3f9bd97.initContext(org.apache.geronimo.j2ee.deployment.EARContext, org.apache.geronimo.j2ee.deployment.Module, java.lang.ClassLoader) line: not available
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 470
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$ffe6c609.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: not available
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File, java.io.File, boolean, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) line: 301
>     org.apache.geronimo.deployment.Deployer.deploy(boolean, java.io.File, java.io.File) line: 120
>     org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP>
>  
> #
> # Attempt to deploy again (thinking that since the previous deploy failed you won't need to undeploy)
> #
> C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager deploy myTest.ear myTestPlan.xml
> Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
> Using JRE_HOME:        C:\j2sdk1.4.2_10
>     Error: Unable to distribute myTest.ear:
>     org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException:
>     Configuration already exists:
>     com.foo.bar/my-app/3.4/car
>         Configuration already exists:
>     com.foo.bar/my-app/3.4/car
> Stack trace from deploy...    
>     
> System Thread [RMI TCP Connection(49)-172.21.35.100] (Suspended (exception org.apache.geronimo.kernel.config.ConfigurationAlreadyExistsException))
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: 176
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.createNewConfigurationDir(org.apache.geronimo.kernel.repository.Artifact) line: not available
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(boolean, org.apache.geronimo.kernel.repository.Artifact, java.lang.Object, java.util.jar.JarFile, java.util.Collection, org.apache.geronimo.kernel.repository.ArtifactResolver, org.apache.geronimo.kernel.config.ConfigurationStore) line: 411
>     org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     <SNIP>
> #
> # Attempt to undeploy the failed deployment.  The listConfigurations() processing is looking for a config.ser file.
> #
> C:\test>geronimo-1.1-SNAPSHOT\bin\deploy --user system --password manager undeploy com.foo.bar/my-app/3.4/car
> Using GERONIMO_BASE:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_HOME:   C:\test\geronimo-1.1-SNAPSHOT
> Using GERONIMO_TMPDIR: C:\test\geronimo-1.1-SNAPSHOT\var\temp
> Using JRE_HOME:        C:\j2sdk1.4.2_10
>     Error:
>     com.foo.bar/my-app/3.4/car does
>     not appear to be a the name of a module available on the selected
>     server. Perhaps it has already been stopped or undeployed?  If
>     you're trying to specify a TargetModuleID, use the syntax
>     TargetName|ModuleName instead. If you're not sure what's running,
>     try the list-modules command.
>     
>     
> System Thread [RMI TCP Connection(854)-172.21.35.100] (Suspended (entry into method listConfigurations in org.apache.geronimo.system.configuration.RepositoryConfigurationStore)) (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore.listConfigurations() line: 359 (out of synch)
>     org.apache.geronimo.system.configuration.RepositoryConfigurationStore$$FastClassByCGLIB$$968bf00c.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     net.sf.cglib.reflect.FastMethod.invoke(java.lang.Object, java.lang.Object[]) line: 53
>     org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(java.lang.Object, java.lang.Object[]) line: 38
>     org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(java.lang.Object, java.lang.Object[]) line: 122
>     org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(int, java.lang.Object[]) line: 816
>     org.apache.geronimo.gbean.runtime.RawInvoker.invoke(int, java.lang.Object[]) line: 57
>     org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(org.apache.geronimo.gbean.AbstractName, java.lang.Object[]) line: 35
>     org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 96
>     org.apache.geronimo.kernel.config.ConfigurationStore$$EnhancerByCGLIB$$7d844901.listConfigurations() line: not available
>     org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.kernel.config.ConfigurationStore) line: 168
>     org.apache.geronimo.kernel.config.EditableKernelConfigurationManager(org.apache.geronimo.kernel.config.SimpleConfigurationManager).listConfigurations(org.apache.geronimo.gbean.AbstractName) line: 161
>     org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(int, java.lang.Object, java.lang.Object[]) line: not available
>     <SNIP - RMI Call>
>     org.apache.geronimo.system.jmx.JMXProxyMethodInterceptor.intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) line: 89
>     org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$bed46791.listConfigurations(org.apache.geronimo.gbean.AbstractName) line: not available
>     org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getModules(javax.enterprise.deploy.spi.Target[], org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager$ConfigFilter) line: 142
>     org.apache.geronimo.deployment.plugin.jmx.RemoteDeploymentManager(org.apache.geronimo.deployment.plugin.jmx.JMXDeploymentManager).getAvailableModules(javax.enterprise.deploy.shared.ModuleType, javax.enterprise.deploy.spi.Target[]) line: 108
>     org.apache.geronimo.deployment.cli.CommandUndeploy(org.apache.geronimo.deployment.cli.CommandStart).execute(java.io.PrintWriter, org.apache.geronimo.deployment.cli.ServerConnection, java.lang.String[]) line: 60
>     org.apache.geronimo.deployment.cli.DeployTool.execute(java.lang.String[]) line: 158
>     org.apache.geronimo.deployment.cli.DeployTool.main(java.lang.String[]) line: 312
>     
>     
>     

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira