Actully does not this part of the JVM spec basically say it all ...

5.3.2 Loading Using a User-defined Class Loader
The following steps are used to load and thereby create the nonarray
class or interface C denoted by N using a user-defined class loader L.

First, the Java virtual machine determines whether L has already been
recorded as an initiating loader of a class or interface denoted by N.
If so, this class or interface is C, and no class creation is necessary.

Otherwise the Java virtual machine invokes loadClass(N ) on L.1 The
value returned by the invocation is the created class or interface C.
The Java virtual machine then records that L is an initiating loader of
C (§5.3.4). The remainder of this section describes this process in more
detail.

When the loadClass method of the class loader L is invoked with the name
N of a class or interface C to be loaded, L must perform one of the
following two operations in order to load C :

   1. The class loader L can create an array of bytes representing C as
the bytes of a ClassFile structure (§4.1); it then must invoke the
method defineClass of class ClassLoader. Invoking defineClass causes the
Java virtual machine to derive a class or interface denoted by N using L
from the array of bytes using the algorithm found in Section 5.3.5.

   2. The class loader L can delegate the loading of C to some other
class loader L'. This is accomplished by passing the argument N directly
or indirectly to an invocation of a method on L' (typically the
loadClass method). Th

On Wed, 2002-06-05 at 11:17, Dave Smith wrote:
> Well after alot of tracking down it looks like it is comming from the
> JVM itself. Looking at the code snippet it checks to see if the class is
> in the table *before* calling the classloader. I can not generate a
> stack trace for the life of me anywhere ... Any other pointers ..
> 
> On Wed, 2002-06-05 at 09:05, Bordet, Simone wrote:
> > Hi Dave,
> > 
> > > > > Cause: java.lang.ClassCircularityError: java/lang/String
> > > > 
> > > > I catch CCE in the new code, how come you get it back ?
> > > > 
> > > I thought you would know that ;-). Anything I can do to help the
> > > debugging?
> > 
> > Yes, can you track down from where exactly the CCE comes from ?
> > It seems from your stack trace that you're using JMX to invoke a method in the 
>CCRAPoll thread.
> > CCE is triggered by classloading so the change I made should catch all CCEs, not 
>let them out.
> > Finding this will really help, I suspect there is more than one entry point in the 
>ULR.
> > 
> > Cheers
> > 
> > Simon
> > 
> > _______________________________________________________________
> > 
> > Don't miss the 2002 Sprint PCS Application Developer's Conference
> > August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm
> > 
> > _______________________________________________
> > Jboss-development mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jboss-development
> 
> 
> 
> _______________________________________________________________
> 
> Don't miss the 2002 Sprint PCS Application Developer's Conference
> August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm
> 
> _______________________________________________
> Jboss-development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development



_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to