You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Bryan Noll (JIRA)" <de...@geronimo.apache.org> on 2006/04/20 00:20:34 UTC
[jira] Created: (GERONIMO-1871) Unable to deploy Tapestry app due
to classloading issue
Unable to deploy Tapestry app due to classloading issue
-------------------------------------------------------
Key: GERONIMO-1871
URL: http://issues.apache.org/jira/browse/GERONIMO-1871
Project: Geronimo
Type: Bug
Security: public (Regular issues)
Components: kernel
Versions: 1.2
Environment: Windows XP
Reporter: Bryan Noll
Here is the stacktrace encountered when attempting to deploy a Tapestry application. Please scroll down to see more info after the stack trace.
org.apache.hivemind.ApplicationRuntimeException: Error: Module hivemind is duplicated! Definition in jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml has been ignored in favor of existing definition from jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml.
org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39)
org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleDescriptor(RegistryInfrastructureConstructor.java:202)
org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvider(RegistryBuilder.java:168)
org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:143)
org.apache.tapestry.ApplicationServlet.constructRegistry(ApplicationServlet.java:253)
org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java:194)
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915)
org.apache.catalina.core.StandardContext.start(StandardContext.java:4176)
org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:66)
org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:270)
org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31)
org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:185)
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287)
org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>)
net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>)
org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:416)
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936)
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325)
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132)
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537)
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208)
org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315)
org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>)
net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:229)
org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>)
net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219)
sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99)
mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31)
mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86)
mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80)
$Proxy4.invoke(Unknown Source)
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221)
sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
sun.rmi.transport.Transport$1.run(Transport.java:148)
java.security.AccessController.doPrivileged(Native Method)
sun.rmi.transport.Transport.serviceCall(Transport.java:144)
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
java.lang.Thread.run(Thread.java:534)
The org.apache.hivemind.impl.XmlModuleDescriptorProvider.getDescriptorResources method of the hivemind-1.1.jar (depended upon by Tapestry) makes a call like:
classLoader.getResources("META-INF/hivemodule.xml")
and 14 different resources are returned. There should only be 7, as each one of them are errantly duplicated. See the following output from some println's added to the hivemind code. This is printed out in the e.hasMoreElements while loop...
15:10:26,006 INFO [XmlModuleDescriptorProvider] Processing modules visible to org.apache.hivemind.impl.DefaultClassResolver@1ce6eaf for resourcePath = META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
size of descriptors list = 14
--
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] Assigned: (GERONIMO-1871) Unable to deploy Tapestry app due
to classloading issue
Posted by "Gianny Damour (JIRA)" <de...@geronimo.apache.org>.
[ http://issues.apache.org/jira/browse/GERONIMO-1871?page=all ]
Gianny Damour reassigned GERONIMO-1871:
---------------------------------------
Assign To: Gianny Damour
> Unable to deploy Tapestry app due to classloading issue
> -------------------------------------------------------
>
> Key: GERONIMO-1871
> URL: http://issues.apache.org/jira/browse/GERONIMO-1871
> Project: Geronimo
> Type: Bug
> Security: public(Regular issues)
> Components: kernel
> Versions: 1.2
> Environment: Windows XP
> Reporter: Bryan Noll
> Assignee: Gianny Damour
> Priority: Critical
>
> Here is the stacktrace encountered when attempting to deploy a Tapestry application. Please scroll down to see more info after the stack trace.
> org.apache.hivemind.ApplicationRuntimeException: Error: Module hivemind is duplicated! Definition in jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml has been ignored in favor of existing definition from jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml.
> org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39)
> org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleDescriptor(RegistryInfrastructureConstructor.java:202)
> org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvider(RegistryBuilder.java:168)
> org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:143)
> org.apache.tapestry.ApplicationServlet.constructRegistry(ApplicationServlet.java:253)
> org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java:194)
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915)
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4176)
> org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:66)
> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:270)
> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31)
> org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:185)
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
> org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287)
> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>)
> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:416)
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132)
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537)
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208)
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315)
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:229)
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
> mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219)
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> java.lang.reflect.Method.invoke(Method.java:324)
> mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90)
> java.security.AccessController.doPrivileged(Native Method)
> javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
> mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80)
> $Proxy4.invoke(Unknown Source)
> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221)
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> java.lang.reflect.Method.invoke(Method.java:324)
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
> sun.rmi.transport.Transport$1.run(Transport.java:148)
> java.security.AccessController.doPrivileged(Native Method)
> sun.rmi.transport.Transport.serviceCall(Transport.java:144)
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
> java.lang.Thread.run(Thread.java:534)
> The org.apache.hivemind.impl.XmlModuleDescriptorProvider.getDescriptorResources method of the hivemind-1.1.jar (depended upon by Tapestry) makes a call like:
> classLoader.getResources("META-INF/hivemodule.xml")
> and 14 different resources are returned. There should only be 7, as each one of them are errantly duplicated. See the following output from some println's added to the hivemind code. This is printed out in the e.hasMoreElements while loop...
> 15:10:26,006 INFO [XmlModuleDescriptorProvider] Processing modules visible to org.apache.hivemind.impl.DefaultClassResolver@1ce6eaf for resourcePath = META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
> size of descriptors list = 14
--
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-1871) Unable to deploy Tapestry app due to
classloading issue
Posted by "Jeff Genender (JIRA)" <de...@geronimo.apache.org>.
[ http://issues.apache.org/jira/browse/GERONIMO-1871?page=all ]
Jeff Genender closed GERONIMO-1871:
-----------------------------------
Fix Version: 1.1
Resolution: Fixed
Looks like it in v1.1 now.
> Unable to deploy Tapestry app due to classloading issue
> -------------------------------------------------------
>
> Key: GERONIMO-1871
> URL: http://issues.apache.org/jira/browse/GERONIMO-1871
> Project: Geronimo
> Type: Bug
> Security: public(Regular issues)
> Components: kernel
> Versions: 1.2
> Environment: Windows XP
> Reporter: Bryan Noll
> Assignee: Gianny Damour
> Priority: Critical
> Fix For: 1.1
>
> Here is the stacktrace encountered when attempting to deploy a Tapestry application. Please scroll down to see more info after the stack trace.
> org.apache.hivemind.ApplicationRuntimeException: Error: Module hivemind is duplicated! Definition in jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml has been ignored in favor of existing definition from jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml.
> org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39)
> org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleDescriptor(RegistryInfrastructureConstructor.java:202)
> org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvider(RegistryBuilder.java:168)
> org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:143)
> org.apache.tapestry.ApplicationServlet.constructRegistry(ApplicationServlet.java:253)
> org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java:194)
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915)
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4176)
> org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:66)
> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:270)
> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31)
> org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:185)
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
> org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287)
> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>)
> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:416)
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132)
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537)
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208)
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315)
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:229)
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
> mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219)
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> java.lang.reflect.Method.invoke(Method.java:324)
> mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90)
> java.security.AccessController.doPrivileged(Native Method)
> javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
> mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80)
> $Proxy4.invoke(Unknown Source)
> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221)
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> java.lang.reflect.Method.invoke(Method.java:324)
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
> sun.rmi.transport.Transport$1.run(Transport.java:148)
> java.security.AccessController.doPrivileged(Native Method)
> sun.rmi.transport.Transport.serviceCall(Transport.java:144)
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
> java.lang.Thread.run(Thread.java:534)
> The org.apache.hivemind.impl.XmlModuleDescriptorProvider.getDescriptorResources method of the hivemind-1.1.jar (depended upon by Tapestry) makes a call like:
> classLoader.getResources("META-INF/hivemodule.xml")
> and 14 different resources are returned. There should only be 7, as each one of them are errantly duplicated. See the following output from some println's added to the hivemind code. This is printed out in the e.hasMoreElements while loop...
> 15:10:26,006 INFO [XmlModuleDescriptorProvider] Processing modules visible to org.apache.hivemind.impl.DefaultClassResolver@1ce6eaf for resourcePath = META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
> size of descriptors list = 14
--
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
Re: [jira] Closed: (GERONIMO-1871) Unable to deploy Tapestry app
due to classloading issue
Posted by Gianny Damour <gi...@optusnet.com.au>.
Actually, the fix is already in 1.1 (I just checked via the Subversion
Commits tab that the commit has not disappeared into the ether).
Thanks,
Gianny
Dain Sundstrom wrote:
> +1 absolutely
>
> Can you do it?
>
> -dain
>
> On Apr 22, 2006, at 7:36 PM, Jeff Genender wrote:
>
>> Can we get this in 1.1? This is a pretty nasty bug.
>>
>> Jeff
>>
>>
>> Gianny Damour (JIRA) wrote:
>>
>>> [ http://issues.apache.org/jira/browse/GERONIMO-1871?page=all ]
>>> Gianny Damour closed GERONIMO-1871:
>>> -----------------------------------
>>> Resolution: Fixed
>>> The problem was that the TCCL was set to the Tomcat
>>> WebAppClassLoader and not the Geronimo TomcatClassLoader.
>>> WebAppClassLoader was defining all the jars in WEB-INF/lib, its
>>> parent was TomcatClassLoader, which was also defining these jars.
>>> Hence this duplication.
>>>
>>>> Unable to deploy Tapestry app due to classloading issue
>>>> -------------------------------------------------------
>>>>
>>>> Key: GERONIMO-1871
>>>> URL: http://issues.apache.org/jira/browse/GERONIMO-1871
>>>> Project: Geronimo
>>>> Type: Bug
>>>> Security: public(Regular issues) Components: kernel
>>>> Versions: 1.2
>>>> Environment: Windows XP
>>>> Reporter: Bryan Noll
>>>> Assignee: Gianny Damour
>>>> Priority: Critical
>>>
Re: [jira] Closed: (GERONIMO-1871) Unable to deploy Tapestry app due to classloading issue
Posted by Dain Sundstrom <da...@iq80.com>.
+1 absolutely
Can you do it?
-dain
On Apr 22, 2006, at 7:36 PM, Jeff Genender wrote:
> Can we get this in 1.1? This is a pretty nasty bug.
>
> Jeff
>
>
> Gianny Damour (JIRA) wrote:
>> [ http://issues.apache.org/jira/browse/GERONIMO-1871?page=all ]
>> Gianny Damour closed GERONIMO-1871:
>> -----------------------------------
>> Resolution: Fixed
>> The problem was that the TCCL was set to the Tomcat
>> WebAppClassLoader and not the Geronimo TomcatClassLoader.
>> WebAppClassLoader was defining all the jars in WEB-INF/lib, its
>> parent was TomcatClassLoader, which was also defining these jars.
>> Hence this duplication.
>>> Unable to deploy Tapestry app due to classloading issue
>>> -------------------------------------------------------
>>>
>>> Key: GERONIMO-1871
>>> URL: http://issues.apache.org/jira/browse/GERONIMO-1871
>>> Project: Geronimo
>>> Type: Bug
>>> Security: public(Regular issues) Components: kernel
>>> Versions: 1.2
>>> Environment: Windows XP
>>> Reporter: Bryan Noll
>>> Assignee: Gianny Damour
>>> Priority: Critical
>>> Here is the stacktrace encountered when attempting to deploy a
>>> Tapestry application. Please scroll down to see more info after
>>> the stack trace.
>>> org.apache.hivemind.ApplicationRuntimeException: Error: Module
>>> hivemind is duplicated! Definition in jar:file:/C:/tools/
>>> geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> hivemind-1.1.jar!/META-INF/hivemodule.xml has been ignored in
>>> favor of existing definition from jar:file:/C:/tools/geronimo-1.2-
>>> SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-
>>> INF/hivemodule.xml.
>>> org.apache.hivemind.impl.StrictErrorHandler.error
>>> (StrictErrorHandler.java:39)
>>> org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModule
>>> Descriptor(RegistryInfrastructureConstructor.java:202)
>>> org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProv
>>> ider(RegistryBuilder.java:168)
>>> org.apache.hivemind.impl.RegistryBuilder.constructRegistry
>>> (RegistryBuilder.java:143)
>>> org.apache.tapestry.ApplicationServlet.constructRegistry
>>> (ApplicationServlet.java:253)
>>> org.apache.tapestry.ApplicationServlet.init
>>> (ApplicationServlet.java:194)
>>> org.apache.catalina.core.StandardWrapper.loadServlet
>>> (StandardWrapper.java:1105)
>>> org.apache.catalina.core.StandardWrapper.load
>>> (StandardWrapper.java:932)
>>> org.apache.catalina.core.StandardContext.loadOnStartup
>>> (StandardContext.java:3915)
>>> org.apache.catalina.core.StandardContext.start
>>> (StandardContext.java:4176)
>>> org.apache.geronimo.tomcat.GeronimoStandardContext.access$101
>>> (GeronimoStandardContext.java:66)
>>> org.apache.geronimo.tomcat.GeronimoStandardContext
>>> $SystemMethodValve.invoke(GeronimoStandardContext.java:270)
>>> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke
>>> (GeronimoBeforeAfterValve.java:31)
>>> org.apache.geronimo.tomcat.GeronimoStandardContext.start
>>> (GeronimoStandardContext.java:185)
>>> org.apache.catalina.core.ContainerBase.addChildInternal
>>> (ContainerBase.java:759)
>>> org.apache.catalina.core.ContainerBase.addChild
>>> (ContainerBase.java:739)
>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:
>>> 524)
>>> org.apache.geronimo.tomcat.TomcatContainer.addContext
>>> (TomcatContainer.java:287)
>>> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$
>>> $9370b073.invoke(<generated>)
>>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
>>> (FastMethodInvoker.java:38)
>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
>>> (GBeanOperation.java:118)
>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
>>> (GBeanInstance.java:800)
>>> org.apache.geronimo.gbean.runtime.RawInvoker.invoke
>>> (RawInvoker.java:57)
>>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke
>>> (RawOperationInvoker.java:36)
>>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept
>>> (ProxyMethodInterceptor.java:96)
>>> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$
>>> $7af7fb0d.addContext(<generated>)
>>> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart
>>> (TomcatWebAppContext.java:416)
>>> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance
>>> (GBeanInstance.java:936)
>>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStar
>>> t(GBeanInstanceState.java:325)
>>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start
>>> (GBeanInstanceState.java:110)
>>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(
>>> GBeanInstanceState.java:132)
>>> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive
>>> (GBeanInstance.java:537)
>>> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean
>>> (BasicKernel.java:208)
>>> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans
>>> (Configuration.java:315)
>>> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$
>>> $7f4b4a9b.invoke(<generated>)
>>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
>>> (FastMethodInvoker.java:38)
>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
>>> (GBeanOperation.java:118)
>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
>>> (GBeanInstance.java:835)
>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke
>>> (BasicKernel.java:178)
>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke
>>> (BasicKernel.java:173)
>>> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start
>>> (ConfigurationManagerImpl.java:229)
>>> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$
>>> $FastClassByCGLIB$$fbed85d2.invoke(<generated>)
>>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
>>> (FastMethodInvoker.java:38)
>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
>>> (GBeanOperation.java:118)
>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
>>> (GBeanInstance.java:835)
>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke
>>> (BasicKernel.java:178)
>>> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
>>> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$
>>> $1cccefc9.invoke(<generated>)
>>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
>>> (FastMethodInvoker.java:38)
>>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke
>>> (GBeanOperation.java:118)
>>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke
>>> (GBeanInstance.java:835)
>>> org.apache.geronimo.kernel.basic.BasicKernel.invoke
>>> (BasicKernel.java:178)
>>> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke
>>> (MBeanServerDelegate.java:117)
>>> mx4j.remote.rmi.RMIConnectionInvoker.invoke
>>> (RMIConnectionInvoker.java:219)
>>> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke
>>> (DelegatingMethodAccessorImpl.java:25)
>>> java.lang.reflect.Method.invoke(Method.java:324)
>>> mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:
>>> 34)
>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain
>>> (RMIConnectionSubjectInvoker.java:99)
>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000
>>> (RMIConnectionSubjectInvoker.java:31)
>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run
>>> (RMIConnectionSubjectInvoker.java:90)
>>> java.security.AccessController.doPrivileged(Native Method)
>>> javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
>>> mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke
>>> (RMIConnectionSubjectInvoker.java:86)
>>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke
>>> (RMIConnectionSubjectInvoker.java:80)
>>> $Proxy4.invoke(Unknown Source)
>>> javax.management.remote.rmi.RMIConnectionImpl.invoke
>>> (RMIConnectionImpl.java:221)
>>> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke
>>> (DelegatingMethodAccessorImpl.java:25)
>>> java.lang.reflect.Method.invoke(Method.java:324)
>>> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
>>> sun.rmi.transport.Transport$1.run(Transport.java:148)
>>> java.security.AccessController.doPrivileged(Native Method)
>>> sun.rmi.transport.Transport.serviceCall(Transport.java:144)
>>> sun.rmi.transport.tcp.TCPTransport.handleMessages
>>> (TCPTransport.java:460)
>>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run
>>> (TCPTransport.java:701)
>>> java.lang.Thread.run(Thread.java:534) The
>>> org.apache.hivemind.impl.XmlModuleDescriptorProvider.getDescriptorRe
>>> sources method of the hivemind-1.1.jar (depended upon by
>>> Tapestry) makes a call like:
>>> classLoader.getResources("META-INF/hivemodule.xml")
>>> and 14 different resources are returned. There should only be 7,
>>> as each one of them are errantly duplicated. See the following
>>> output from some println's added to the hivemind code. This is
>>> printed out in the e.hasMoreElements while loop...
>>> 15:10:26,006 INFO [XmlModuleDescriptorProvider] Processing
>>> modules visible to
>>> org.apache.hivemind.impl.DefaultClassResolver@1ce6eaf for
>>> resourcePath = META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> hivemind-1.1.jar!/META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> tapestry-4.0.jar!/META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> hivemind-1.1.jar!/META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> tapestry-4.0.jar!/META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
>>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/
>>> tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/
>>> tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
>>> size of descriptors list = 14
Re: [jira] Closed: (GERONIMO-1871) Unable to deploy Tapestry app
due to classloading issue
Posted by Jeff Genender <jg...@savoirtech.com>.
Can we get this in 1.1? This is a pretty nasty bug.
Jeff
Gianny Damour (JIRA) wrote:
> [ http://issues.apache.org/jira/browse/GERONIMO-1871?page=all ]
>
> Gianny Damour closed GERONIMO-1871:
> -----------------------------------
>
> Resolution: Fixed
>
> The problem was that the TCCL was set to the Tomcat WebAppClassLoader and not the Geronimo TomcatClassLoader. WebAppClassLoader was defining all the jars in WEB-INF/lib, its parent was TomcatClassLoader, which was also defining these jars. Hence this duplication.
>
>> Unable to deploy Tapestry app due to classloading issue
>> -------------------------------------------------------
>>
>> Key: GERONIMO-1871
>> URL: http://issues.apache.org/jira/browse/GERONIMO-1871
>> Project: Geronimo
>> Type: Bug
>> Security: public(Regular issues)
>> Components: kernel
>> Versions: 1.2
>> Environment: Windows XP
>> Reporter: Bryan Noll
>> Assignee: Gianny Damour
>> Priority: Critical
>
>> Here is the stacktrace encountered when attempting to deploy a Tapestry application. Please scroll down to see more info after the stack trace.
>> org.apache.hivemind.ApplicationRuntimeException: Error: Module hivemind is duplicated! Definition in jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml has been ignored in favor of existing definition from jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml.
>> org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39)
>> org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleDescriptor(RegistryInfrastructureConstructor.java:202)
>> org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvider(RegistryBuilder.java:168)
>> org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:143)
>> org.apache.tapestry.ApplicationServlet.constructRegistry(ApplicationServlet.java:253)
>> org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java:194)
>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
>> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
>> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915)
>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4176)
>> org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:66)
>> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:270)
>> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31)
>> org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:185)
>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
>> org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287)
>> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>)
>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
>> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
>> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
>> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>)
>> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:416)
>> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936)
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325)
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132)
>> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537)
>> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208)
>> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315)
>> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>)
>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
>> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:229)
>> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>)
>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
>> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
>> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
>> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
>> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
>> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
>> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
>> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
>> mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219)
>> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> java.lang.reflect.Method.invoke(Method.java:324)
>> mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99)
>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31)
>> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90)
>> java.security.AccessController.doPrivileged(Native Method)
>> javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
>> mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86)
>> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80)
>> $Proxy4.invoke(Unknown Source)
>> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221)
>> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> java.lang.reflect.Method.invoke(Method.java:324)
>> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
>> sun.rmi.transport.Transport$1.run(Transport.java:148)
>> java.security.AccessController.doPrivileged(Native Method)
>> sun.rmi.transport.Transport.serviceCall(Transport.java:144)
>> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
>> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
>> java.lang.Thread.run(Thread.java:534)
>> The org.apache.hivemind.impl.XmlModuleDescriptorProvider.getDescriptorResources method of the hivemind-1.1.jar (depended upon by Tapestry) makes a call like:
>> classLoader.getResources("META-INF/hivemodule.xml")
>> and 14 different resources are returned. There should only be 7, as each one of them are errantly duplicated. See the following output from some println's added to the hivemind code. This is printed out in the e.hasMoreElements while loop...
>> 15:10:26,006 INFO [XmlModuleDescriptorProvider] Processing modules visible to org.apache.hivemind.impl.DefaultClassResolver@1ce6eaf for resourcePath = META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
>> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
>> size of descriptors list = 14
>
[jira] Closed: (GERONIMO-1871) Unable to deploy Tapestry app due to
classloading issue
Posted by "Gianny Damour (JIRA)" <de...@geronimo.apache.org>.
[ http://issues.apache.org/jira/browse/GERONIMO-1871?page=all ]
Gianny Damour closed GERONIMO-1871:
-----------------------------------
Resolution: Fixed
The problem was that the TCCL was set to the Tomcat WebAppClassLoader and not the Geronimo TomcatClassLoader. WebAppClassLoader was defining all the jars in WEB-INF/lib, its parent was TomcatClassLoader, which was also defining these jars. Hence this duplication.
> Unable to deploy Tapestry app due to classloading issue
> -------------------------------------------------------
>
> Key: GERONIMO-1871
> URL: http://issues.apache.org/jira/browse/GERONIMO-1871
> Project: Geronimo
> Type: Bug
> Security: public(Regular issues)
> Components: kernel
> Versions: 1.2
> Environment: Windows XP
> Reporter: Bryan Noll
> Assignee: Gianny Damour
> Priority: Critical
>
> Here is the stacktrace encountered when attempting to deploy a Tapestry application. Please scroll down to see more info after the stack trace.
> org.apache.hivemind.ApplicationRuntimeException: Error: Module hivemind is duplicated! Definition in jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml has been ignored in favor of existing definition from jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml.
> org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39)
> org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleDescriptor(RegistryInfrastructureConstructor.java:202)
> org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvider(RegistryBuilder.java:168)
> org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:143)
> org.apache.tapestry.ApplicationServlet.constructRegistry(ApplicationServlet.java:253)
> org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java:194)
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915)
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4176)
> org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:66)
> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:270)
> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31)
> org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:185)
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
> org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287)
> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>)
> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:416)
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132)
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537)
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208)
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315)
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:229)
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
> mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219)
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> java.lang.reflect.Method.invoke(Method.java:324)
> mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90)
> java.security.AccessController.doPrivileged(Native Method)
> javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
> mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80)
> $Proxy4.invoke(Unknown Source)
> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221)
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> java.lang.reflect.Method.invoke(Method.java:324)
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
> sun.rmi.transport.Transport$1.run(Transport.java:148)
> java.security.AccessController.doPrivileged(Native Method)
> sun.rmi.transport.Transport.serviceCall(Transport.java:144)
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
> java.lang.Thread.run(Thread.java:534)
> The org.apache.hivemind.impl.XmlModuleDescriptorProvider.getDescriptorResources method of the hivemind-1.1.jar (depended upon by Tapestry) makes a call like:
> classLoader.getResources("META-INF/hivemodule.xml")
> and 14 different resources are returned. There should only be 7, as each one of them are errantly duplicated. See the following output from some println's added to the hivemind code. This is printed out in the e.hasMoreElements while loop...
> 15:10:26,006 INFO [XmlModuleDescriptorProvider] Processing modules visible to org.apache.hivemind.impl.DefaultClassResolver@1ce6eaf for resourcePath = META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
> size of descriptors list = 14
--
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] Reopened: (GERONIMO-1871) Unable to deploy Tapestry app due
to classloading issue
Posted by "Jeff Genender (JIRA)" <de...@geronimo.apache.org>.
[ http://issues.apache.org/jira/browse/GERONIMO-1871?page=all ]
Jeff Genender reopened GERONIMO-1871:
-------------------------------------
Great fix Gianny. Can we please get in in 1.1? This is critical enough that I think this needs to be in the next release.
> Unable to deploy Tapestry app due to classloading issue
> -------------------------------------------------------
>
> Key: GERONIMO-1871
> URL: http://issues.apache.org/jira/browse/GERONIMO-1871
> Project: Geronimo
> Type: Bug
> Security: public(Regular issues)
> Components: kernel
> Versions: 1.2
> Environment: Windows XP
> Reporter: Bryan Noll
> Assignee: Gianny Damour
> Priority: Critical
>
> Here is the stacktrace encountered when attempting to deploy a Tapestry application. Please scroll down to see more info after the stack trace.
> org.apache.hivemind.ApplicationRuntimeException: Error: Module hivemind is duplicated! Definition in jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml has been ignored in favor of existing definition from jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml.
> org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39)
> org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleDescriptor(RegistryInfrastructureConstructor.java:202)
> org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvider(RegistryBuilder.java:168)
> org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:143)
> org.apache.tapestry.ApplicationServlet.constructRegistry(ApplicationServlet.java:253)
> org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java:194)
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915)
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4176)
> org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:66)
> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:270)
> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31)
> org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:185)
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
> org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287)
> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>)
> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:416)
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132)
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537)
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208)
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315)
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:229)
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
> mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219)
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> java.lang.reflect.Method.invoke(Method.java:324)
> mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90)
> java.security.AccessController.doPrivileged(Native Method)
> javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
> mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80)
> $Proxy4.invoke(Unknown Source)
> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221)
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> java.lang.reflect.Method.invoke(Method.java:324)
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
> sun.rmi.transport.Transport$1.run(Transport.java:148)
> java.security.AccessController.doPrivileged(Native Method)
> sun.rmi.transport.Transport.serviceCall(Transport.java:144)
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
> java.lang.Thread.run(Thread.java:534)
> The org.apache.hivemind.impl.XmlModuleDescriptorProvider.getDescriptorResources method of the hivemind-1.1.jar (depended upon by Tapestry) makes a call like:
> classLoader.getResources("META-INF/hivemodule.xml")
> and 14 different resources are returned. There should only be 7, as each one of them are errantly duplicated. See the following output from some println's added to the hivemind code. This is printed out in the e.hasMoreElements while loop...
> 15:10:26,006 INFO [XmlModuleDescriptorProvider] Processing modules visible to org.apache.hivemind.impl.DefaultClassResolver@1ce6eaf for resourcePath = META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
> size of descriptors list = 14
--
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-1871) Unable to deploy Tapestry app due
to classloading issue
Posted by "Bryan Noll (JIRA)" <de...@geronimo.apache.org>.
[ http://issues.apache.org/jira/browse/GERONIMO-1871?page=all ]
Bryan Noll updated GERONIMO-1871:
---------------------------------
Priority: Critical (was: Major)
Updating to critical since Tapestry does not integrate out of the box with Geronimo.
> Unable to deploy Tapestry app due to classloading issue
> -------------------------------------------------------
>
> Key: GERONIMO-1871
> URL: http://issues.apache.org/jira/browse/GERONIMO-1871
> Project: Geronimo
> Type: Bug
> Security: public(Regular issues)
> Components: kernel
> Versions: 1.2
> Environment: Windows XP
> Reporter: Bryan Noll
> Priority: Critical
>
> Here is the stacktrace encountered when attempting to deploy a Tapestry application. Please scroll down to see more info after the stack trace.
> org.apache.hivemind.ApplicationRuntimeException: Error: Module hivemind is duplicated! Definition in jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml has been ignored in favor of existing definition from jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml.
> org.apache.hivemind.impl.StrictErrorHandler.error(StrictErrorHandler.java:39)
> org.apache.hivemind.impl.RegistryInfrastructureConstructor.addModuleDescriptor(RegistryInfrastructureConstructor.java:202)
> org.apache.hivemind.impl.RegistryBuilder.processModuleDescriptorProvider(RegistryBuilder.java:168)
> org.apache.hivemind.impl.RegistryBuilder.constructRegistry(RegistryBuilder.java:143)
> org.apache.tapestry.ApplicationServlet.constructRegistry(ApplicationServlet.java:253)
> org.apache.tapestry.ApplicationServlet.init(ApplicationServlet.java:194)
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915)
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4176)
> org.apache.geronimo.tomcat.GeronimoStandardContext.access$101(GeronimoStandardContext.java:66)
> org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:270)
> org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31)
> org.apache.geronimo.tomcat.GeronimoStandardContext.start(GeronimoStandardContext.java:185)
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
> org.apache.geronimo.tomcat.TomcatContainer.addContext(TomcatContainer.java:287)
> org.apache.geronimo.tomcat.TomcatContainer$$FastClassByCGLIB$$9370b073.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
> org.apache.geronimo.tomcat.TomcatContainer$$EnhancerByCGLIB$$7af7fb0d.addContext(<generated>)
> org.apache.geronimo.tomcat.TomcatWebAppContext.doStart(TomcatWebAppContext.java:416)
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:325)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:110)
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:132)
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:537)
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:208)
> org.apache.geronimo.kernel.config.Configuration.startRecursiveGBeans(Configuration.java:315)
> org.apache.geronimo.kernel.config.Configuration$$FastClassByCGLIB$$7f4b4a9b.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:173)
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl.start(ConfigurationManagerImpl.java:229)
> org.apache.geronimo.kernel.config.ConfigurationManagerImpl$$FastClassByCGLIB$$fbed85d2.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)
> org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:835)
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
> org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
> mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219)
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> java.lang.reflect.Method.invoke(Method.java:324)
> mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90)
> java.security.AccessController.doPrivileged(Native Method)
> javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
> mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86)
> mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80)
> $Proxy4.invoke(Unknown Source)
> javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221)
> sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> java.lang.reflect.Method.invoke(Method.java:324)
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
> sun.rmi.transport.Transport$1.run(Transport.java:148)
> java.security.AccessController.doPrivileged(Native Method)
> sun.rmi.transport.Transport.serviceCall(Transport.java:144)
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
> java.lang.Thread.run(Thread.java:534)
> The org.apache.hivemind.impl.XmlModuleDescriptorProvider.getDescriptorResources method of the hivemind-1.1.jar (depended upon by Tapestry) makes a call like:
> classLoader.getResources("META-INF/hivemodule.xml")
> and 14 different resources are returned. There should only be 7, as each one of them are errantly duplicated. See the following output from some println's added to the hivemind code. This is printed out in the e.hasMoreElements while loop...
> 15:10:26,006 INFO [XmlModuleDescriptorProvider] Processing modules visible to org.apache.hivemind.impl.DefaultClassResolver@1ce6eaf for resourcePath = META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/hivemind-lib-1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-annotations-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-contrib-4.0.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-flash-0.1.1.jar!/META-INF/hivemodule.xml
> XmlModuleDescriptorProvider.getDescriptorResources - jar:file:/C:/tools/geronimo-1.2-SNAPSHOT/config-store/42/war/WEB-INF/lib/tapestry-spring-0.1.2.jar!/META-INF/hivemodule.xml
> size of descriptors list = 14
--
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