geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bryan Noll <bn...@virtuas.com>
Subject Re: Unable to deploy Tapestry app on Geronimo
Date Mon, 17 Apr 2006 03:49:01 GMT
I forgot to ask... to make sure I understand.... when you say "dump the 
class loaders and URLs"... I assume you mean into a log, which would 
mean editing code and re-building, correct?  Just wanted to make sure I 
was the only one who didn't know how to do this via the admin console or 
something before going about it this way.

Thanks....

Bryan

Bryan Noll wrote:
> Thanks for responding Aaron.  Strange to me as well.  I'm pretty sure 
> its not getting on the classpath twice because there's two copies of a 
> hivemind library somewhere in the server.  For instance...
>
> 1) Download and extract G-mo... do a find . -name hive* in the 
> G-MO_HOME dir... and get nothing...
>
> 2) Start the server and deploy the simple Tapestry app (via the 
> command line deployer).... see the aforementioned error...
>
> 3) Now, do the 'find . -name hive*' again, and find the hivemind and 
> hivemind-lib jar files in '/config-store/42' directory...
>
> At any rate, thanks for responding...
>
> Aaron Mulder wrote:
>> Sounds like maybe the same JAR/dir is on the class path twice? 
>> Strange that this should be a problem.  You might try dumping the
>> class loaders and the URLs they contain and see if you can get a
>> clearer picture of the overlap.
>>
>> Thanks,
>>     Aaron
>>
>> On 4/16/06, Bryan Noll <bnoll@virtuas.com> wrote:
>>  
>>> Hello...
>>>
>>> I'm having some issues deploying a simple Tapestry application to
>>> Geronimo.  I'm trying to keep it as simple as I can... no
>>> geronimo-web.xml.  So, Tapestry is tightly coupled with Hivemind, and
>>> Hivemind is complaining... telling me "Module hivemind is duplicated!".
>>> It would appear to me that this seems like a class loading issue with
>>> Geronimo.  Evidently, the hivemind-1.1.jar library that's bundled in 
>>> the
>>> war is getting deployed twice.... or something like that.
>>> To give you an brief idea of what's going on here, the Tapestry
>>> bootstrap process is attempting to get all of these hivemodule.xml 
>>> files
>>> loaded by iterating over a Collection of them.  That is what's 
>>> happening
>>> every time 'RegistryInfrastructureConstructor.addModuleDescriptor' is
>>> getting called.  So, right before I get the following stack strace, I
>>> see some debug level logging coming out of the hivemind code saying
>>> '12:54:13,609 DEBUG [RegistryBuilder] Processing module hivemind'.  
>>> That
>>> is the 2nd time I see that, hence the problem...it got it loaded the 
>>> 1st
>>> time, and is now puking.
>>>
>>> Here's the stacktrace.  I'm gonna post to the Tapestry list as well and
>>> see if they've got anything to say about it.
>>>
>>> Thanks in advance for any thoughts....
>>>
>>> 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)
>>>
>>> -- 
>>> +-------------------------------
>>> | Bryan Noll
>>> | Practice Consultant
>>> | Virtuas Open Source Solutions
>>> | o: 303.260.7300 x713
>>> | c: 720.201.9659
>>> +-------------------------------
>>>
>>>
>>>
>>>
>>>     
>>
>>
>>   
>

-- 
+-------------------------------
| Bryan Noll
| Practice Consultant
| Virtuas Open Source Solutions
| o: 303.260.7300 x713
| c: 720.201.9659
+-------------------------------


Mime
View raw message