Community
Participate
Working Groups
Received on email: Sorry if I'm not going through the proper channels, but I ran into an issue and found the following Bugzilla bug and it is strikingly familiar to my problem, and I was hoping you could help me out, or point me in the right direction. Basically I have an aspect (using the @AspectJ style), and all is fine and good until I change it from being singleton to perthis(). The aspect is not abstract, nor does it derive from anything. I'm getting the following exception, much like the other bug: java.lang.ClassFormatError: Repetitive field name/signature in class file com/yada/yada/yada/MyAspect And this is some partial output from decompiling the class: private transient MyAspect ajc$com_yada_yada_yada_MyAspect$perObjectField; private static Throwable ajc$initFailureCause; private transient MyAspect ajc$com_yada_yada_yada_MyAspect$perObjectField; My aspect looks like this: @Aspect("perthis(call( * com.yada.yada.yada.SomeClass.someMethod(..)))") public class MyAspect { @Pointcut("call( * com.yada.yada.yada.SomeClass.someMethod(..)) && args(j,k, *)") public void pointcut( int j, int k) {} @Before("pointcut( j,k)") public void advice( int j, int k ) { … } } The exact same code, with @Aspect instead of @Aspect("perthis(… works fine. Any enlightenment you can provide would be really helpful, here is the bugzilla bug link I found through Google: https://bugs.eclipse.org/bugs/show_bug.cgi?id=114436
*** Bug 144601 has been marked as a duplicate of this bug. ***
Fix committed. Just avoid adding the perobject stuff in the BcelPerClauseAspectAdder because it is done by the PerObjectInterfaceTypeMunger.