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
 >  > >
 >  > >
 >  >
 >  >
 >
 >
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.