Re: [aspectwerkz-dev] stack overflow in cvs head
christoph sturm <chrisml-Ws/[email protected]>
| Newsgroups | gmane.comp.java.aspectwerkz.devel |
|---|---|
| Message-ID | <[email protected]> |
hey
i have now isolated the problem further, and found a really easy way to
reproduce it:
this class:
public class Guess {
public Guess(Guess no) {
}
static public void main(String[] args) {
}
}
also produces a stacktrace when its preprocessed.
so i think that the preprocessor fails if a class has no default
constructor.
regards
chris
On Tue, 13 Jul 2004 16:37:12 +0200, christoph sturm
<chrisml-Ws/[email protected]> wrote:
> hi alex!
>
> i was just running a jmock based mock testsuite. jmock uses cglib to
> create mockobjects.
>
> this test fails here:
> -----
> package com.schaumwelt.aspects;
>
> import org.jmock.cglib.MockObjectTestCase;
>
> import java.util.Date;
>
> public class AspectwerkzTest extends MockObjectTestCase
> {
> public void testNothing()
> {
> mock(Date.class);
> }
> }
> -----
> you just need jmock 1.0.1 binary distribution, cglib 2.0 is included.
>
> thx
> chris
>
>
>
> On Tue, 13 Jul 2004 08:47:57 -0500 (CDT), Alex <alex-he/e8N7AIe/[email protected]> wrote:
> > Hi
> > Do you think I can reproduce it,just by adding some aspect on the
cglib
> > code base, or did you have it when running Hibernate or something ?
> > I need to know if you had it out of the box or for on the fly
generated
> > classes.
> > May be you can guess it from the names printed out there if you are
> > familiar with cglib.
> > (net.sf.cglib.core.Block, net.sf.cglib.core.EmitUtils$12 etc)
> >
> > Alex
> >
> >
> >
> >
> > ----- Original Message -----
> > > hi all!
> > >
> > > aw3 cvs head produces stack overflow exceptions since yesterday
> evening:
> > >
> > > AspectWerkz - WARN - Error pre-processing class
> > > net.sf.cglib.core.ClassEmitter in Thread[main,5,main]
> > > java.lang.StackOverflowError
> > > AspectWerkz - WARN - Error pre-processing class
> > > net.sf.cglib.core.CodeEmitter in Thread[main,5,main]
> > > java.lang.StackOverflowError
> > > AspectWerkz - WARN - Error pre-processing class
> > > net.sf.cglib.core.RemappingCodeVisitor in Thread[main,5,main]
> > > java.lang.StackOverflowError
> > > at
> java.lang.ref.ReferenceQueue$Lock.<init>(ReferenceQueue.java:36)
> > > at
> java.lang.ref.ReferenceQueue$Lock.<init>(ReferenceQueue.java:36)
> > > at java.lang.ref.ReferenceQueue.<init>(ReferenceQueue.java:37)
> > > at java.util.WeakHashMap.<init>(WeakHashMap.java:151)
> > > at
> > > <snip/>
> > > at
> > >
>
org.codehaus.aspectwerkz.reflect.impl.javassist.JavassistClassInfo.<init>(JavassistClassInfo.java:148)
> > > at
> > >
>
org.codehaus.aspectwerkz.reflect.impl.javassist.JavassistClassInfo.getClassInfo(JavassistClassInfo.java:182)
> > > at
> > >
>
org.codehaus.aspectwerkz.reflect.impl.javassist.JavassistCodeInfo.getParameterTypes(JavassistCodeInfo.java:62)
> > > at
> > >
>
org.codehaus.aspectwerkz.reflect.impl.javassist.JavassistConstructorInfo.addAnnotations(JavassistConstructorInfo.java:134)
> > > at
> > >
>
org.codehaus.aspectwerkz.reflect.impl.javassist.JavassistConstructorInfo.<init>(JavassistConstructorInfo.java:40)
> > > at
> > >
>
org.codehaus.aspectwerkz.reflect.impl.javassist.JavassistClassInfo.<init>(JavassistClassInfo.java:148)
> > > at
> > >
>
org.codehaus.aspectwerkz.reflect.impl.javassist.JavassistClassInfo.getClassInfo(JavassistClassInfo.java:182)
> > > at
> > >
>
org.codehaus.aspectwerkz.reflect.impl.javassist.JavassistCodeInfo.getParameterTypes(JavassistCodeInfo.java:62)
> > > AspectWerkz - WARN - Error pre-processing class
> > > net.sf.cglib.core.EmitUtils$12 in Thread[main,5,main]
> > > java.lang.StackOverflowError
> > > AspectWerkz - WARN - Error pre-processing class
net.sf.cglib.core.Block
> > > in Thread[main,5,main]
> > > java.lang.StackOverflowError
> > > AspectWerkz - WARN - Error pre-processing class
> > > net.sf.cglib.reflect.FastClassEmitter$4 in Thread[main,5,main]
> > > java.lang.StackOverflowError
> > > AspectWerkz - WARN - Error pre-processing class
> > > net.sf.cglib.core.EmitUtils$16 in Thread[main,5,main]
> > > java.lang.StackOverflowError
> > >
> > > Maybe this has somethig to do with cglib. I have actually no idea
> why aw
> > > wants to pre process the cglib classes, because i have only no
caller
> > > side pointcuts, and all my pointcuts use annotations, and the cglib
> > > classes arent annotated.
> > >
> > > regards
> > > chris
> > >
> > >
> >
> >
>
>