Hi,

That's pretty serious. I'd like to fix it but I can't build your project to
recreate it (using git clone/mvn compile) - can you raise an AspectJ issue
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ and attach or
point me to something I can build to recreate it?

thanks,
Andy

On 28 September 2014 10:57, José San Leandro <jose.sanlean...@witworks.es>
wrote:

> Hi,
>
> When compiling a simple project [1] using aspectj-maven-plugin, I get the
> error below. It only happens when the pointcut gets applied. If I make the
> pointcut intercept nothing [2], it compiles successfully.
>
> [ERROR] Failed to execute goal
> org.codehaus.mojo:aspectj-maven-plugin:1.7:compile (default) on project
> lambda-control-flow-poc: AJC compiler errors:
> [ERROR] error at (no source information available)
> [ERROR]
> /home/chous/github/LambdaControlFlowPoC/src/main/java/org/acmsl/pocs/lambdafor/ControlFlowDriver.java:0::0
> Internal compiler error: java.lang.ClassCastException:
> org.aspectj.apache.bcel.classfile.ConstantUtf8 cannot be cast to
> org.aspectj.apache.bcel.classfile.ConstantInvokeDynamic at
> org.aspectj.apache.bcel.generic.InvokeDynamic.getSignature(InvokeDynamic.java:108)
> [ERROR] abort ABORT -- (ClassCastException)
> org.aspectj.apache.bcel.classfile.ConstantUtf8 cannot be cast to
> org.aspectj.apache.bcel.classfile.ConstantInvokeDynamic
> [ERROR] org.aspectj.apache.bcel.classfile.ConstantUtf8 cannot be cast to
> org.aspectj.apache.bcel.classfile.ConstantInvokeDynamic
> [ERROR] java.lang.ClassCastException:
> org.aspectj.apache.bcel.classfile.ConstantUtf8 cannot be cast to
> org.aspectj.apache.bcel.classfile.ConstantInvokeDynamic
> [ERROR] at
> org.aspectj.apache.bcel.generic.InvokeDynamic.getSignature(InvokeDynamic.java:108)
> [ERROR] at
> org.aspectj.apache.bcel.generic.InvokeDynamic.getReturnType(InvokeDynamic.java:99)
> [ERROR] at
> org.aspectj.apache.bcel.generic.InvokeInstruction.produceStack(InvokeInstruction.java:107)
> [ERROR] at
> org.aspectj.apache.bcel.generic.MethodGen.getMaxStack(MethodGen.java:988)
> [ERROR] at
> org.aspectj.apache.bcel.generic.MethodGen.setMaxStack(MethodGen.java:876)
> [ERROR] at
> org.aspectj.weaver.bcel.LazyMethodGen.pack(LazyMethodGen.java:1019)
>
> The context is:
> - Project uses lambda expressions.
> - Java 1.8.11 on gentoo linux 64b.
> - aspectjrt, aspectjtools 1.8.2
> - aspectj-maven-plugin 1.7
>
> [1] https://github.com/rydnr/LambdaControlFlowPoC
> [2]
> https://github.com/rydnr/LambdaControlFlowPoC/blob/master/src/main/aspect/org/acmsl/pocs/lambdafor/ForReplacer.aj
>
> I'm attaching the effective pom should it helps to figure out the issue.
>
> I've downloaded aspectj 1.8.2 sources, and when debugging, the invalid
> cast is produced by extracting
> "org/acmsl/pocs/lambdafor/ControlFlowCommand" String from the constant pool
> at index 62.
> I've no idea what could be causing this. I've tried adding some defensive
> programming hacks but it causes one NPE in the caller for each guarding
> condition. I think InvokeDynamic class is not prepared yet to handle
> ConstantUtf8 instances, but I'm far from solving this by myself.
>
> Thank you very much in advance.
>
> Jose.
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to