logo       

Re: Enhydra Multiserver Bug?: msg#00089

java.enhydra.general

Subject: Re: Enhydra Multiserver Bug?

If there are problems with multiple versions of the same class in the
classpath, maybe this utility might help:

http://www.javaworld.com/javaworld/javatips/jw-javatip105.html?

It's called JWhich and tells you which class in which JAR-file is run.

-- Darius

Mike Warne wrote:
>
> Hi Charles,
>
> I'm not one of the Enhydra contributors, but..
>
> It's hard to see what's going on here, but could it be that a class that is
> used by the PCP initialization is missing?
>
> I wonder if your Pcp.startup() method is referencing a class that is missing
> or can not be loaded due to a conflict with another class..
>
> Or perhaps there is a field in your Pcp class that can not be created because
> the class can't be found.
>
> Something like
> public class Pcp extends StandardApplication {
> SomeClass myVariable
> // Is SomeClass in you class path?
> // or Does SomeClass reference another class that is _not_ in your Classpath?
> }
>
> Class loading problems are a big pain for any Java application / or app
> server..
> Sometimes the Java exceptions are not very helpful.
>
> Version conflicts are also hard to debug. For example you may have another
> version of a set of classes in you classpath. If you have a lot of jars in
> your path, you may need to list the contents of some of them to see if the
> same classes exist elsewhere.. This can cause conflicts, and class-cast
> exceptions etc.
>
> Just guessing..
> Mike.
>
> -----Original Message-----
> From: Charles Rector [mailto:crector@xxxxxxxxxxxxx]
> Sent: Tuesday, October 22, 2002 8:35 AM
> To: enhydra@xxxxxxxxxxx
> Subject: Enhydra: Enhydra Multiserver Bug?
>
> Hi, I'm hoping some of the Enhydra developers might be able to look at this
> because it seems like it might be a bug:
>
> Since posting my last message to this list ("Multiserver, Error: 500
> Internal Servlet Error"), I tried relocating my application to another
> server. This time around I'm not even able to Start the application. The
> most confusing thing is, the multiserver log dumps somewhat contradictory
> error messages when running in debug mode as opposed to when running with no
> debugging. It reports it cannot find a class without debugging info, but
> that it can find the class with debugging info turned on:
>
> Without debugging info:
>
> 2002.10.22 05:52:51: Multiserver,INFO: Starting servlet/application pcp
> 2002.10.22 05:52:51: Multiserver,INFO: Application pcp has url prefix
> "/pcp".
> 2002.10.22 05:52:51: pcp,INFO: pcp: init
> 2002.10.22 05:52:51: Multiserver,ERROR: Initialization of application
> failed: pcp.pcp
> 2002.10.22 05:52:51: Multiserver,ERROR+ java.lang.ClassNotFoundException:
> pcp.pcp
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> com.lutris.classloader.MultiClassLoader.doLoadClass(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> com.lutris.classloader.MultiClassLoader.loadClassResource(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> com.lutris.classloader.MultiClassLoader.loadClass(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> java.lang.ClassLoader.loadClass(ClassLoader.java:255)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> com.lutris.appserver.server.httpPresentation.servlet.HttpPresentationServlet
> .initApplication(Unknown Sour$
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> com.lutris.appserver.server.httpPresentation.servlet.HttpPresentationServlet
> .init(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.apache.tomcat.core.ServletWrapper$2.method(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.apache.tomcat.core.ServletWrapper.handleInvocation(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.apache.tomcat.core.ServletWrapper.loadServlet(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.apache.tomcat.core.Context.loadServlets(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.apache.tomcat.core.Context.setupLoadableServlet(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.enhydra.servlet.servletManager.ServletManager.start(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> com.lutris.appserver.admin.presentation.Perform.performAction(Perform.java:7
> 6)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> com.lutris.appserver.admin.presentation.Perform.runPage(Perform.java:151)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> com.lutris.appserver.server.jolt.joltpo.JoltPage.run(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> com.lutris.appserver.server.httpPresentation.HttpPresentationManager.runPres
> entationObj(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> com.lutris.appserver.server.httpPresentation.HttpPresentationManager.Run(Unk
> nown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> com.lutris.appserver.server.httpPresentation.servlet.HttpPresentationServlet
> .serviceDirect(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> com.lutris.appserver.server.httpPresentation.servlet.HttpPresentationServlet
> .service(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.apache.tomcat.core.ServiceInvocationHandler.method(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.apache.tomcat.core.ServletWrapper.handleInvocation(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.apache.tomcat.core.ServletWrapper.handleRequest(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.apache.tomcat.core.Context.handleRequest(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.enhydra.servlet.servletManager.ServletManager.service(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.enhydra.servlet.connectionMethods.http.HttpHandler.doARequest(Unknown
> Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.enhydra.servlet.connectionMethods.http.HttpHandler.processRequests(Unkno
> wn Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> org.enhydra.servlet.connectionMethods.http.HttpHandler.run(Unknown Source)
> 2002.10.22 05:52:51: Multiserver,ERROR+ at
> java.lang.Thread.run(Thread.java:536)
> 2002.10.22 05:52:51: pcp,ERROR: cannot load servlet name: pcp
>
> With class-loading debug info:
>
> 2002.10.22 06:05:56: Multiserver,CLASSLOAD: class loaded by: parent
> 2002.10.22 06:05:56: Multiserver,INFO: Starting servlet/application pcp
> 2002.10.22 06:05:56: Multiserver,DEBUG: initContext() servletID=pcp
> context=org.apache.tomcat.core.Context@10f6d3 path=/pcp url=file:/.
> 2002.10.22 06:05:56: Multiserver,INFO: Application pcp has url prefix
> "/pcp".
> 2002.10.22 06:05:56: pcp,INFO: pcp: init
> 2002.10.22 06:05:56: Multiserver,DEBUG: Loaded Enhydra application: pcp.pcp
> 2002.10.22 06:05:56: Multiserver,DEBUG: presentation prefix:
> pcp/presentation
> 2002.10.22 06:05:56: Multiserver,DEBUG: Class path:
> /usr/local/enhydra5.0/lib/pcp/pcp-20021021-1748.jar,
> /usr/local/enhydra5.0/lib, /usr/local/java/iexp$
> 2002.10.22 06:05:56: Multiserver,CLASSLOAD: loadClass: pcp.pcp
> 2002.10.22 06:05:56: Multiserver,CLASSLOAD: checking parent class loader:
> pcp.pcp
> 2002.10.22 06:05:56: Multiserver,CLASSLOAD: class not loaded by parent:
> pcp.pcp: java.lang.ClassNotFoundException: pcp.pcp
> 2002.10.22 06:05:56: Multiserver,CLASSLOAD: checking MultiClassLoader:
> pcp.pcp
> 2002.10.22 06:05:56: Multiserver,CLASSLOAD: getResource loading:
> pcp/pcp.class
> 2002.10.22 06:05:56: Multiserver,CLASSLOAD: checking:
> "/usr/local/enhydra5.0/lib/pcp/pcp-20021021-1748.jar"
> 2002.10.22 06:05:56: Multiserver,CLASSLOAD: found: pcp/pcp.class
> 2002.10.22 06:05:56: Multiserver,CLASSLOAD: getResource finished:
> pcp/pcp.class
> ...
>
> As you can see the pcp.pcp class was not found while running without
> debugging info, whereas with debugging info it was. In either case, the
> application does not Start from the admin. Is this a multiserver bug?
> Neither I, nor my fellow employees, can think of any reason why this should
> be happening.
>
> --
> Chuck Rector
> Internet Exposure, Inc.
> http://www.iexposure.com
> crector@xxxxxxxxxxxxx
>
> Web Development - Web Marketing - ISP Services
> (612) 676-1946
>


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise