[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] Help with at aspect declare error stack overflow
|
Hi,
Thought this would need a bug report, just wasn't sure if I was missing
something stupid instead.
Here is the bug report :
https://bugs.eclipse.org/bugs/show_bug.cgi?id=364380
Thanks,
Jni
On Mon 21 Nov 2011 11:22:11 AM EST, Andy Clement wrote:
Hi,
Please raise a bugzilla for this:
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
From a quick look, yes both your aspects should be fine. You mention
a stack overflow, but what was the stack? (Include it in the bugzilla
if you can).
cheers,
Andy
On 20 November 2011 09:38, Jean-Nicolas<jni.viens@xxxxxxxxx> wrote:
Hi,
I am getting this weird bug when trying to define an error with
@DeclareError on a method. When compiling, the first time i'm getting a
stack overflow error from aspectj and the second time everything compiles
just fine. We are in LTW. For example, if I do
$ mvn clean
$ mvn jetty:run<---- this will fail and create an ajcore (stack overflow)
$ mvn jetty:run<---- now it works fine
Now, here is the bug I found and how I fixed it... although I don't
understand why it didn't work in the first place.
Here is the NOT-working aspect :
#########################
public class OwnershipSecurityAspect {
@Pointcut("call(public void ca..setOwner(..))&&
!within(ca..OwnershipSecurityAspect)&& !within(ca..*Test)")
public void myPcut() {};
@DeclareError("myPcut()")
public static final String securityError = "An advice already exists for
setting an owner";
}
########################
So that creates the error, but if i put the PC declaration inside the
declareError like so :
#########################
public class OwnershipSecurityAspect {
@DeclareError("call(public void ca..setOwner(..))&&
!within(ca..OwnershipSecurityAspect)&& !within(ca..*Test)")
public static final String securityError = "An advice already exists for
setting an owner";
}
##########################
Now everything works fine.
However, the first method should work too, it's even the example in the doc
:
http://www.eclipse.org/aspectj/doc/next/aspectj5rt-api/org/aspectj/lang/annotation/DeclareError.html
Also note that the setOwner() method IS called inside this aspect... so I
thought it was infinite recursion... but I didn't even change the pointcut
definition, so I don't think this is the issue at hand here...
Thanks in advance for the help,
Jni
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users