You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by "Roytman, Alex" <ro...@peacetech.com> on 2001/10/03 22:10:04 UTC

TC4: java.lang.LinkageError: duplicate class definition. PLEASE HELP!

Hello,

I am getting following error when invoke my jsps for the first time
after TC start. It happens only first time - once all classes has been
loaded it works fine i.e. I click refresh after the error and it doesn't
happen any more. It only happens when two clients trying to access my
pages simultaneously. In my case I have three frames on a web page each
of the frames use the same custom tags and therefore share the same
classes. If I open each frame's jsp one after another I do not get any
errors. Duplicate class definition exception happens on any class
depending on timing not on any specific one. I am pretty sure there is
no duplicate classes in TC class hierarchy. 

My application uses:
 - My custom JNDI factories (jars are in TC/lib)
 - My custom tags they get my factories from JNDI (jars are in TC/lib)
 - Xalan, Xerces etc (jars TC/lib)
 - My Ldap authentication (jars TC/common/lib)


I am not sure how can I debug this because complex nature of TC class
loading
I would appreciate your help

Alex

java.lang.LinkageError: duplicate class definition:
org/apache/xalan/lib/Extensions
	at java.lang.ClassLoader.defineClass0(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
	at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at
org.apache.catalina.loader.StandardClassLoader.findClass(Unknown Source)
	at
org.apache.catalina.loader.StandardClassLoader.loadClass(Unknown Source)
	at
org.apache.catalina.loader.StandardClassLoader.loadClass(Unknown Source)
	at
org.apache.catalina.loader.WebappClassLoader.loadClass(Unknown Source)
	at
org.apache.catalina.loader.WebappClassLoader.loadClass(Unknown Source)
	at
org.apache.xalan.extensions.ExtensionHandler.getClassForName(ExtensionHa
ndler.java:133)
	at
org.apache.xalan.extensions.ExtensionHandlerJavaClass.<init>(ExtensionHa
ndlerJavaClass.java:121)
	at
org.apache.xalan.extensions.ExtensionsTable.<init>(ExtensionsTable.java:
106)
	at org.apache.xpath.XPathContext.<init>(XPathContext.java:423)
	at
org.apache.xalan.transformer.TransformerImpl.<init>(TransformerImpl.java
:438)
	at
org.apache.xalan.templates.StylesheetRoot.newTransformer(StylesheetRoot.
java:175)
	at
org.apache.xalan.processor.TransformerFactoryImpl.newTransformerHandler(
TransformerFactoryImpl.java:668)
	at
com.peacetech.webtools.fw.XServletHelper.getXsltProcessor(XServletHelper
.java:279)
	at
com.peacetech.webtools.fw.XServletHelper.getXsltProcessors(XServletHelpe
r.java:287)
	at
com.peacetech.webtools.fw.XServletHelper.defaultOutput(XServletHelper.ja
va:477)
	at
com.peacetech.webtools.fw.XServletHelper.defaultOutput(XServletHelper.ja
va:471)
	at
com.peacetech.webtools.taglib.XsltFileTransformTag.doEndTag(XsltFileTran
sformTag.java:46)
	at
org.apache.jsp.main_0002dmenu_0002dtabs$jsp._jspService(main_0002dmenu_0
002dtabs$jsp.java:99)
	at org.apache.jasper.runtime.HttpJspBase.service(Unknown Source)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(Unknown
Source)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(Unknown
Source)
	at org.apache.jasper.servlet.JspServlet.service(Unknown Source)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown
Source)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
	at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
Source)
	at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown
Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown
Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.catalina.core.StandardContextValve.invoke(Unknown
Source)
	at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown
Source)
	at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Unknown
Source)
	at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown
Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown
Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.catalina.core.StandardContext.invoke(Unknown
Source)
	at org.apache.catalina.core.StandardHostValve.invoke(Unknown
Source)
	at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown
Source)
	at org.apache.catalina.valves.AccessLogValve.invoke(Unknown
Source)
	at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown
Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown
Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
Source)
	at org.apache.catalina.core.StandardPipeline.invokeNext(Unknown
Source)
	at org.apache.catalina.core.StandardPipeline.invoke(Unknown
Source)
	at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
	at
org.apache.catalina.connector.http.HttpProcessor.process(Unknown Source)
	at org.apache.catalina.connector.http.HttpProcessor.run(Unknown
Source)
	at java.lang.Thread.run(Thread.java:484)