tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig R. McClanahan" <>
Subject Re: [bug] linking error
Date Thu, 28 Sep 2000 22:36:58 GMT
Stefano Mazzocchi wrote:

> "Craig R. McClanahan" wrote:
> > > However, I agree that shared libraries are badly defined in the W3C/XML world.
> > > a) The classes from W3C were never properly packaged and maintained into JAR
> > > files. Every user tend to put them into their own JARs
> > > b) The same classes are not compatible between versions. I can not simply replace
> > > them with the latest version (by compiling and putting them in a JAR in the
> > > lib/ext/ directory) which would temporarily solve my problems.
> > >
> > > But I guess you are on top of this...
> >
> > I wouldn't say necessarily "on top of" -- more "suffering the consequences of" along
> > with everyone else :-).
> We appear to suffer more consequences of this than planned.
> Here is another pretty serious bug report:
> 1) downloaded Tomcat 4.0M1
> 2) latest Cocoon2 from CVS
> when executed (Sun JDK 1.3 under Win2k) I get
> java.lang.LinkageError: Class org/xml/sax/Attributes violates loader
> constraints
>         at
> _C_._Code._apache_org._jakarta_tomcat_4_0_m1._webapps._cocoon._sitemap_xmap.setConfiguration(
>         at
>         at
> but if I remove xerces.jar from /lib everything works just fine.
> NOTE: cocoon/WEB-INF/lib *does* include Xerces_1.2.jar along with the
> right SAX classes.
> How about that?

I was able to reproduce this, but it fails for me under all three circumstances (xerces.jar
in both places, xerces.jar
in $CATALINA_HOME/lib only, and xerces.jar in the Cocoon WEB-INF/lib only).  In the latter
case, it complained about a
different class (org.w3c.dom.Document) instead.

A few comments and questions.

* According to the Javadocs, a LinkageError means that
  a class was changed this class depended on, without
  recompiling this class.  Is there any chance at all that the
  xerces.jar (from the 1.2 binary download) was not built from
  scratch (build clean then build dist or whatever)?

* I turned on debugging output in the Catalina class loader.
  It appears that the actual generated sitemap class is being
  started on another thread, using a different classloader.  If
  so, what class is being used, and how is it being configured?
  I don't know enough Cocoon internals to track this down.

* Likewise, I don't see anywhere in the code that is writing the
  LinkageError exception message to System.out in the first
  place.  Any ideas where this is coming from?  (The stack trace
  sent back to the browser is a NullPointerException).

> --
> Stefano Mazzocchi      One must still have chaos in oneself to be


See you at ApacheCon Europe <>!
Session VS01 (23-Oct 13h00-17h00):  Sun Technical Briefing
Session T06  (24-Oct 14h00-15h00):  Migrating Apache JServ
                                    Applications to Tomcat

View raw message