Community
Participate
Working Groups
Maybe it is a not proper use of the target statement togheter with annotations. pointcut callOnAnnotatedTypes(): call(* *.*(..)) && target((@MemberOfMonitoredSet *)); which reported the following stacktrace: [iajc] trouble in: [iajc] public class test.MonitorAspect extends java.lang.Object: [iajc] private static Throwable ajc$initFailureCause [iajc] public static final test.MonitorAspect ajc$perSingletonInstance [iajc] static void <clinit>(): [iajc] staticinitialization(void test.MonitorAspect.<clinit>()) [iajc] | catch java.lang.Throwable -> E0 [iajc] | | INVOKESTATIC test.MonitorAspect.ajc$postClinit ()V (line 4) [iajc] | catch java.lang.Throwable -> E0 [iajc] | GOTO L0 [iajc] | E0: ASTORE_0 [iajc] | ALOAD_0 [iajc] | PUTSTATIC test.MonitorAspect.ajc$initFailureCause Ljava/lang/Throwable; [iajc] | L0: RETURN [iajc] staticinitialization(void test.MonitorAspect.<clinit>()) [iajc] end static void <clinit>() [iajc] public void <init>(): [iajc] ALOAD_0 // test.MonitorAspect this (line 4) [iajc] INVOKESPECIAL java.lang.Object.<init> ()V [iajc] constructor-execution(void test.MonitorAspect.<init>()) [iajc] | RETURN [iajc] constructor-execution(void test.MonitorAspect.<init>()) [iajc] end public void <init>() [iajc] void ajc$pointcut$$callOnAnnotatedInterface$40() org.aspectj.weaver.MethodDeclarationLineNumber: 6:64 [iajc] : [iajc] RETURN (line 11) [iajc] end void ajc$pointcut$$callOnAnnotatedInterface$40() [iajc] public void ajc$before$test_MonitorAspect$1$871930bf() AdviceAttribute(before, callOnAnnotatedInterface(), 0, 326) [iajc] : [iajc] advice-execution(void test.MonitorAspect.ajc$before$test_MonitorAspect$1$871930bf()) [iajc] | GETSTATIC java.lang.System.out Ljava/io/PrintStream; (line 14) [iajc] | LDC "EMAspect: annotation on ITF detected" [iajc] | ASTORE_1 [iajc] | ASTORE_2 [iajc] | method-call(void java.io.PrintStream.println(java.lang.String)) [iajc] | | ALOAD_2 [iajc] | | ALOAD_1 [iajc] | | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V [iajc] | method-call(void java.io.PrintStream.println(java.lang.String)) [iajc] | RETURN (line 15) [iajc] advice-execution(void test.MonitorAspect.ajc$before$test_MonitorAspect$1$871930bf()) [iajc] end public void ajc$before$test_MonitorAspect$1$871930bf() [iajc] public static test.MonitorAspect aspectOf() org.aspectj.weaver.AjAttribute$AjSynthetic@383118 [iajc] : [iajc] GETSTATIC test.MonitorAspect.ajc$perSingletonInstance Ltest/MonitorAspect; [iajc] IFNONNULL L0 [iajc] NEW org.aspectj.lang.NoAspectBoundException [iajc] DUP [iajc] LDC "test_MonitorAspect" [iajc] GETSTATIC test.MonitorAspect.ajc$initFailureCause Ljava/lang/Throwable; [iajc] INVOKESPECIAL org.aspectj.lang.NoAspectBoundException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V [iajc] ATHROW [iajc] L0: GETSTATIC test.MonitorAspect.ajc$perSingletonInstance Ltest/MonitorAspect; [iajc] ARETURN [iajc] end public static test.MonitorAspect aspectOf() [iajc] public static boolean hasAspect() org.aspectj.weaver.AjAttribute$AjSynthetic@118d189 [iajc] : [iajc] GETSTATIC test.MonitorAspect.ajc$perSingletonInstance Ltest/MonitorAspect; [iajc] IFNULL L0 [iajc] ICONST_1 [iajc] IRETURN [iajc] L0: ICONST_0 [iajc] IRETURN [iajc] end public static boolean hasAspect() [iajc] private static void ajc$postClinit() org.aspectj.weaver.AjAttribute$AjSynthetic@1758500 [iajc] : [iajc] NEW test.MonitorAspect [iajc] DUP [iajc] INVOKESPECIAL test.MonitorAspect.<init> ()V [iajc] PUTSTATIC test.MonitorAspect.ajc$perSingletonInstance Ltest/MonitorAspect; [iajc] RETURN [iajc] end private static void ajc$postClinit() [iajc] end public class test.MonitorAspect [iajc] ABORT [iajc] [iajc] Exception thrown from AspectJ DEVELOPMENT [iajc] This might be logged as a bug already -- find current bugs at [iajc] http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler [iajc] Bugs for exceptions thrown have titles File:line from the top stack, [iajc] e.g., "SomeFile.java:243" [iajc] If you don't find the exception below in a bug, please add a new bug [iajc] at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ [iajc] To make the bug a priority, please include a test program [iajc] that can reproduce this exception. [iajc] bad [iajc] bad [iajc] org.aspectj.weaver.BCException: bad [iajc] at org.aspectj.weaver.bcel.BcelRenderer.visit(BcelRenderer.java:229) [iajc] at org.aspectj.weaver.ast.Literal.accept(Literal.java:29) [iajc] at org.aspectj.weaver.bcel.BcelRenderer.recur(BcelRenderer.java:152) [iajc] at org.aspectj.weaver.bcel.BcelRenderer.renderTest(BcelRenderer.java:118) [iajc] at org.aspectj.weaver.bcel.BcelAdvice.getTestInstructions(BcelAdvice.java:474) [iajc] at org.aspectj.weaver.bcel.BcelAdvice.getAdviceInstructions(BcelAdvice.java:324) [iajc] at org.aspectj.weaver.bcel.BcelShadow.weaveBefore(BcelShadow.java:1541) [iajc] at org.aspectj.weaver.bcel.BcelAdvice.implementOn(BcelAdvice.java:160) [iajc] at org.aspectj.weaver.Shadow.implementMungers(Shadow.java:497) [iajc] at org.aspectj.weaver.Shadow.implement(Shadow.java:375) [iajc] at org.aspectj.weaver.bcel.BcelClassWeaver.implement(BcelClassWeaver.java:1753) [iajc] at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:392) [iajc] at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:96) [iajc] at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1363) [iajc] at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1328) [iajc] at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1105) [iajc] at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:980) [iajc] at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.weave(AjCompilerAdapter.java:286) [iajc] at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.afterCompiling(AjCompilerAdapter.java:165) [iajc] at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$2$f9cc9ca0(CompilerAdapter.aj:70) [iajc] at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:368) [iajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:727) [iajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:206) [iajc] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:140) [iajc] at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112) [iajc] at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) [iajc] at org.aspectj.tools.ajc.Main.run(Main.java:324) [iajc] at org.aspectj.tools.ajc.Main.runMain(Main.java:238) [iajc] at org.aspectj.tools.ant.taskdefs.AjcTask.executeInSameVM(AjcTask.java:1194) [iajc] at org.aspectj.tools.ant.taskdefs.AjcTask.execute(AjcTask.java:985) [iajc] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [iajc] at org.apache.tools.ant.Task.perform(Task.java:364) [iajc] at org.apache.tools.ant.Target.execute(Target.java:341) [iajc] at org.apache.tools.ant.Target.performTasks(Target.java:369) [iajc] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216) [iajc] at org.apache.tools.ant.Project.executeTarget(Project.java:1185) [iajc] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40) [iajc] at org.apache.tools.ant.Project.executeTargets(Project.java:1068) [iajc] at org.apache.tools.ant.Main.runBuild(Main.java:668) [iajc] at org.apache.tools.ant.Main.startAnt(Main.java:187) [iajc] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246) [iajc] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67) this is the ajc log: ajcore.20050812.113047.137.txt ---- AspectJ Properties --- AspectJ Compiler DEVELOPMENT built on Wednesday Aug 10, 2005 at 13:12:53 GMT ---- Dump Properties --- Dump file: ajcore.20050812.113047.137.txt Dump reason: org.aspectj.weaver.BCException Dump on exception: true Dump at exit condition: abort ---- Exception Information --- ---- System Properties --- java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition sun.boot.library.path=/usr/java/jdk1.5.0/jre/lib/i386 java.vm.version=1.5.0_04-b05 ant.library.dir=/usr/share/ant//lib java.vm.vendor=Sun Microsystems Inc. java.vendor.url=http://java.sun.com/ path.separator=: java.vm.name=Java HotSpot(TM) Client VM file.encoding.pkg=sun.io user.country=IT sun.os.patch.level=unknown java.vm.specification.name=Java Virtual Machine Specification user.dir=/home/veleno/workspace/ltwtest java.runtime.version=1.5.0_04-b05 java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment java.endorsed.dirs=/usr/java/jdk1.5.0/jre/lib/endorsed os.arch=i386 java.io.tmpdir=/tmp line.separator= java.vm.specification.vendor=Sun Microsystems Inc. os.name=Linux ant.home=/usr/share/ant/ sun.jnu.encoding=ISO-8859-15 java.library.path=/usr/java/jdk1.5.0/jre/lib/i386/client:/usr/java/jdk1.5.0/jre/lib/i386:/usr/java/jdk1.5.0/jre/../lib/i386 java.specification.name=Java Platform API Specification java.class.version=49.0 sun.management.compiler=HotSpot Client Compiler os.version=2.6.9 user.home=/home/veleno user.timezone=Europe/Rome java.awt.printerjob=sun.print.PSPrinterJob file.encoding=ISO-8859-15 java.specification.version=1.5 java.class.path=/usr/share/ant//lib/ant-launcher.jar:/usr/share/java/xmlParserAPIs.jar:/usr/share/java/xercesImpl.jar:/home/veleno/workspace/ltwtest/./:/home/veleno/lib/xmlrpc-1.2-b1.jar:/home/veleno/lib/jdom.jar:/home/veleno/lib/jl030.jar:/home/veleno/lib/lw.jar:/home/veleno/lwext.jar:/home/veleno/lib/kxmlrpc_full.jar:/home/veleno/lib/personal.jar:/home/veleno/lib/junit.jar:/usr/java/groovy/groovy-1.0-beta-4.jar:/usr/java/groovy/lib/asm-1.4.1.jar:/home/veleno/universit/psi/p2p/tapestry/tapestry2/src:/home/veleno/lib/liquidlnf.jar:/home/veleno/aspectj1.2/lib/aspectjrt.jar:/home/veleno/jakarta-tomcat-5.5.7/server/lib/catalina.jar:/home/veleno/jakarta-tomcat-5.5.7/server/lib/tomcat-util.jar:/home/veleno/aspectj1.5/lib/aspectjrt.jar:/usr/share/ant/lib/ant-commons-logging.jar:/usr/share/ant/lib/jdtcore.jar:/usr/share/ant/lib/groovy-1.0-beta-4.jar:/usr/share/ant/lib/asm-1.4.1.jar:/usr/share/ant/lib/asm-util-1.4.1.jar:/usr/share/ant/lib/ant-apache-bcel.jar:/usr/share/ant/lib/jdtCompilerAdapter.jar:/usr/share/ant/lib/ant-apache-log4j.jar:/usr/share/ant/lib/bcel-5.1.jar:/usr/share/ant/lib/junit.jar:/usr/share/ant/lib/ant-apache-oro.jar:/usr/share/ant/lib/ant.jar:/usr/share/ant/lib/ant-jmf.jar:/usr/share/ant/lib/ant-antlr.jar:/usr/share/ant/lib/ant-apache-bsf.jar:/usr/share/ant/lib/ant-javamail.jar:/usr/share/ant/lib/ant-jdepend.jar:/usr/share/ant/lib/ant-nodeps.jar:/usr/share/ant/lib/ant-swing.jar:/usr/share/ant/lib/ant-trax.jar:/usr/share/ant/lib/ant-launcher.jar:/usr/share/ant/lib/ant-junit.jar:/usr/share/ant/lib/ant-apache-regexp.jar:/usr/share/ant/lib/ant-apache-resolver.jar:/usr/share/ant/lib/ant-bootstrap.jar:/usr/share/ant/lib/ant-commons-net.jar:/usr/share/ant/lib/ant-jsch.jar:/usr/java/jdk1.5.0/lib/tools.jar user.name=veleno java.vm.specification.version=1.0 java.home=/usr/java/jdk1.5.0/jre sun.arch.data.model=32 user.language=it java.specification.vendor=Sun Microsystems Inc. java.vm.info=mixed mode, sharing java.version=1.5.0_04 java.ext.dirs=/usr/java/jdk1.5.0/jre/lib/ext sun.boot.class.path=/usr/java/jdk1.5.0/jre/lib/rt.jar:/usr/java/jdk1.5.0/jre/lib/i18n.jar:/usr/java/jdk1.5.0/jre/lib/sunrsasign.jar:/usr/java/jdk1.5.0/jre/lib/jsse.jar:/usr/java/jdk1.5.0/jre/lib/jce.jar:/usr/java/jdk1.5.0/jre/lib/charsets.jar:/usr/java/jdk1.5.0/jre/classes java.vendor=Sun Microsystems Inc. file.separator=/ java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi sun.io.unicode.encoding=UnicodeLittle sun.cpu.endian=little sun.cpu.isalist= ---- Command Line --- -source 1.5 -d /home/veleno/workspace/ltwtest/output/build -g -classpath /home/veleno/workspace/ltwtest/output/build:/home/veleno/workspace/ltwtest/genClasses:/home/veleno/workspace/ltwtest/externals/aspectjrt.jar:/home/veleno/workspace/ltwtest/externals/aspectjtools.jar:/home/veleno/workspace/ltwtest/externals/aspectjweaver.jar /home/veleno/workspace/ltwtest/src/test/MonitorAspect.aj /home/veleno/workspace/ltwtest/src/test/MonitorAspect2.aj ---- Full Classpath --- /usr/java/jdk1.5.0/jre/lib/rt.jar(39713589 bytes) /usr/java/jdk1.5.0/jre/lib/i18n.jar(missing) /usr/java/jdk1.5.0/jre/lib/sunrsasign.jar(missing) /usr/java/jdk1.5.0/jre/lib/jsse.jar(549315 bytes) /usr/java/jdk1.5.0/jre/lib/jce.jar(81799 bytes) /usr/java/jdk1.5.0/jre/lib/charsets.jar(8627836 bytes) /usr/java/jdk1.5.0/jre/classes(missing) /usr/java/jdk1.5.0/jre/lib/ext/sunjce_provider.jar(153235 bytes) /usr/java/jdk1.5.0/jre/lib/ext/sunpkcs11.jar(175414 bytes) /usr/java/jdk1.5.0/jre/lib/ext/dnsns.jar(8176 bytes) /usr/java/jdk1.5.0/jre/lib/ext/localedata.jar(802502 bytes) /home/veleno/workspace/ltwtest/output/build(1 entries) /home/veleno/workspace/ltwtest/genClasses(missing) /home/veleno/workspace/ltwtest/externals/aspectjrt.jar(101419 bytes) /home/veleno/workspace/ltwtest/externals/aspectjtools.jar(7226586 bytes) /home/veleno/workspace/ltwtest/externals/aspectjweaver.jar(1540422 bytes) /usr/java/jdk1.5.0/jre/lib/ext/sunjce_provider.jar(153235 bytes) /usr/java/jdk1.5.0/jre/lib/ext/sunpkcs11.jar(175414 bytes) /usr/java/jdk1.5.0/jre/lib/ext/dnsns.jar(8176 bytes) /usr/java/jdk1.5.0/jre/lib/ext/localedata.jar(802502 bytes) /home/veleno/workspace/ltwtest/output/build(1 entries) /home/veleno/workspace/ltwtest/genClasses(missing) /home/veleno/workspace/ltwtest/externals/aspectjrt.jar(101419 bytes) /home/veleno/workspace/ltwtest/externals/aspectjtools.jar(7226586 bytes) /home/veleno/workspace/ltwtest/externals/aspectjweaver.jar(1540422 bytes) ---- Compiler Messages --- abort ABORT -- (BCException) bad bad org.aspectj.weaver.BCException: bad at org.aspectj.weaver.bcel.BcelRenderer.visit(BcelRenderer.java:229) at org.aspectj.weaver.ast.Literal.accept(Literal.java:29) at org.aspectj.weaver.bcel.BcelRenderer.recur(BcelRenderer.java:152) at org.aspectj.weaver.bcel.BcelRenderer.renderTest(BcelRenderer.java:118) at org.aspectj.weaver.bcel.BcelAdvice.getTestInstructions(BcelAdvice.java:474) at org.aspectj.weaver.bcel.BcelAdvice.getAdviceInstructions(BcelAdvice.java:324) at org.aspectj.weaver.bcel.BcelShadow.weaveBefore(BcelShadow.java:1541) at org.aspectj.weaver.bcel.BcelAdvice.implementOn(BcelAdvice.java:160) at org.aspectj.weaver.Shadow.implementMungers(Shadow.java:497) at org.aspectj.weaver.Shadow.implement(Shadow.java:375) at org.aspectj.weaver.bcel.BcelClassWeaver.implement(BcelClassWeaver.java:1753) at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:392) at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:96) at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1363) at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1328) at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1105) at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:980) at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.weave(AjCompilerAdapter.java:286) at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.afterCompiling(AjCompilerAdapter.java:165) at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$2$f9cc9ca0(CompilerAdapter.aj:70) at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:368) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:727) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:206) at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:140) at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112) at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60) at org.aspectj.tools.ajc.Main.run(Main.java:324) at org.aspectj.tools.ajc.Main.runMain(Main.java:238) at org.aspectj.tools.ant.taskdefs.AjcTask.executeInSameVM(AjcTask.java:1194) at org.aspectj.tools.ant.taskdefs.AjcTask.execute(AjcTask.java:985) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) at org.apache.tools.ant.Task.perform(Task.java:364) at org.apache.tools.ant.Target.execute(Target.java:341) at org.apache.tools.ant.Target.performTasks(Target.java:369) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216) at org.apache.tools.ant.Project.executeTarget(Project.java:1185) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40) at org.apache.tools.ant.Project.executeTargets(Project.java:1068) at org.apache.tools.ant.Main.runBuild(Main.java:668) at org.apache.tools.ant.Main.startAnt(Main.java:187) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67) ---- org.aspectj.weaver.bcel.BcelWorld ---- Shadow mungers: (before: ((call(* test.Service.*(..)) && @target(test.MemberOfMonitoredSet)) && persingleton(test.MonitorAspect))->void test.MonitorAspect.ajc$before$test_MonitorAspect$1$871930bf()) (before: ((call(* *(..)) && target(@test.MemberOfMonitoredSet *)) && persingleton(test.MonitorAspect2))->void test.MonitorAspect2.ajc$before$test_MonitorAspect2$1$d006767f()) Type mungers: Empty Late Type mungers: Empty
I believe this has been fixed, marking as M4 to ensure i come back and verify that fact.
The compiler now correctly reports: "wildcard type pattern not allowed, must use type name" on the line containing the target pc expression. To match annotated target objects, use @target, e.g. pointcut callOnAnnotatedTypes(): call(* *.*(..)) && @target(MemberOfMonitoredSet);