geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Mulder" <ammul...@alumni.princeton.edu>
Subject Re: Unable to deploy Tapestry app on Geronimo
Date Mon, 17 Apr 2006 03:58:48 GMT
Right -- no fancy tricks to help with this yet.  I've had some ideas
on displaying the class loader hierarchy in the console, but so far,
just ideas.

Thanks,
    Aaron

On 4/16/06, Bryan Noll <bnoll@virtuas.com> wrote:
> 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