Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ajdt-dev] strange exception problem

good bit of digging there.  that is quite a complex area of the code
*sigh* - it does seem the fix for that could be affecting you. Please
open a new bug and i'll try and create a testcase around your
description when I get a moment, unless you beat me to it.

cheers,
Andy.



2008/5/4 Martin Lippert <lippert@xxxxxxx>:
> Hi Andy,
>
>  I think I have found the problem, at least to some degree. I tried to debug
> through the code for my setting and tried to find out what happened. As I am
> not extremely familiar with the code base of the weaver in this depth I hope
> my explanations and results are understandable and not complete crap...
>
>  I think the problem is somehow introduced by the fix for this bug:
>
>  https://bugs.eclipse.org/bugs/show_bug.cgi?id=223094
>
>  When my aspect is registered to the weaver (addLibraryAspect) the method
> "addLibraryAspect" calls itself second times for the both super types of my
> aspect (HelloWorldTracing -> SimpleTracing -> Tracing).
>
>  Everything seems to be fine (the crosscutting members list for the
> HelloWorldTracing aspect contains the type munger for the cflow field
> addition) until the third call to "addLibraryAspect".
>
>  That calls "addOrReplaceDescandantsOf" for its direct descandant
> (SimpleTracing) which then calls "addOrReplaceDescandantsOf" the next
> descandant (HelloWorldTracing). After this call the type munger for the
> cflow field is no longer inside the crosscutting members list and therefore
> the cflow field is not added later on during weaving, I think.
>
>  So far my analysis... Does this makes sense?
>
>  Thanks for your help!
>  -Martin
>
>
>
>
>
>
>
>
>  Andy Clement wrote:
>
> > I had a quick look through from December until April 3rd
> >
> >
> https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=AspectJ&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=2007-12-01&chfieldto=2008-04-03&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=
> >
> > and can't immediately see anything that would introduce a regression
> > for you.  if you can show me a testcase, of course I'll take a look,
> >
> > cheers,
> > Andy.
> >
> > ps. if you get a chance, I'd be interested in getting you to try out
> > the weaver in https://bugs.eclipse.org/bugs/show_bug.cgi?id=210470 -
> > since it is meant to be much better behaved in terms of allowing
> > itself to be gc'd when the related classloader is orphaned.
> >
> > 2008/5/2 Andy Clement <andrew.clement@xxxxxxxxx>:
> >
> > > I can't think of a change, but there might be one.  You could check
> > >  bugzilla for fixes committed between the dates of old and new (AspectJ
> > >  build dates, not AJDT ones).
> > >
> > >  Does it work if you let the aspects get woven?
> > >
> > >
> > >
> > >  Andy.
> > >
> > >  2008/5/2 Martin Lippert <lippert@xxxxxxx>:
> > >  > Hi Andy,
> > >  >
> > >  >
> > >  >
> > >  > > I think it needs to weave the aspect where the cflow pointcut
> occurs -
> > >  > > but I'd need to double check.
> > >  > >
> > >  > > I don't believe the behaviour has changed, the only thing I added
> > >  > > recently was an error message saying "you need to weave the aspect"
> > >  > > which comes out with the cryptic cflowcounter message.  if you
> aren't
> > >  > > seeing that message then maybe your problem really is different.
> > >  > >
> > >  >
> > >  >  Hm, this seems to be very interesting. I have a hierarchy of three
> aspects
> > >  > where the cflow pointcut is defined in the base class of this
> hierarchy and
> > >  > I decompiled all three classfiles after weaving. Noone contains a
> field
> > >  > definition for the cflow. Seems to me that my case might be indeed a
> > >  > different one. Could any other change to the weaver code possibly
> created
> > >  > this problem? I am so puzzled because an older build worked fine...
> > >  >
> > >  >
> > >  >
> > >  >  -Martin
> > >  >
> > >  >
> > >  >
> > >  > >
> > >  > > Andy
> > >  > >
> > >  > > 2008/5/2 Martin Lippert <lippert@xxxxxxx>:
> > >  > >
> > >  > > > Hi Andy,
> > >  > > >
> > >  > > >
> > >  > > >
> > >  > > >
> > >  > > > > I've seen that if you exclude the aspect from being woven in
> the XML
> > >  > > > > configuration for ltw - we must be able to weave the aspect if
> you are
> > >  > > > > using cflow since it will have that field added to it.   See
> bugs like
> > >  > > > > https://bugs.eclipse.org/bugs/show_bug.cgi?id=166647
> > >  > > > >
> > >  > > > > Are you including the aspect in what can be woven?
> > >  > > > >
> > >  > > > >
> > >  > > >  Thanks for the quick pointer to the bug. My issue seems to be
> closely
> > >  > > > related but also slightly different... ;-)
> > >  > > >
> > >  > > >  In my case I have an abstract aspect containing the cflow
> pointcut and
> > >  > a
> > >  > > > concrete aspect inheriting from that aspect (so no aop.xml-based
> > >  > concretized
> > >  > > > aspect). And in my setting the abstract aspect seems to be
> excluded from
> > >  > > > weaving. Could that cause the problem? And has this behavior
> changed
> > >  > really
> > >  > > > between the builds I mentioned? I just wanna be sure where the
> problem
> > >  > is to
> > >  > > > find a good solution for my case... :-)
> > >  > > >
> > >  > > >  Thanks a lot for your help!
> > >  > > >  -Martin
> > >  > > >
> > >  > > >
> > >  > > >
> > >  > > >
> > >  > > >
> > >  > > >
> > >  > > >
> > >  > > >
> > >  > > >
> > >  > > >
> > >  > > > > Andy.
> > >  > > > >
> > >  > > > > 2008/5/2 Martin Lippert <lippert@xxxxxxx>:
> > >  > > > >
> > >  > > > >
> > >  > > > > > Hi!
> > >  > > > > >
> > >  > > > > >  When using load-time weaving with AJDT 1.5.2 I get this
> exception:
> > >  > > > > >
> > >  > > > > >  java.lang.NoSuchFieldError: ajc$cflowCounter$0
> > >  > > > > >  (invoking a woven class)
> > >  > > > > >
> > >  > > > > >  I tried to track this down. Seems like this problem was
> introduced
> > >  > by
> > >  > > > > >
> > >  > > > >
> > >  > > > build
> > >  > > >
> > >  > > > >
> > >  > > > > > 1.5.2.200804031532 of AJDT. It worked well with the previous
> build
> > >  > > > > > 1.5.2.200801291327.
> > >  > > > > >
> > >  > > > > >  Any idea what is going on?
> > >  > > > > >
> > >  > > > > >  Thanks in advance!
> > >  > > > > >  -Martin
> > >  > > > > >
> > >  > > > > >  _______________________________________________
> > >  > > > > >  ajdt-dev mailing list
> > >  > > > > >  ajdt-dev@xxxxxxxxxxx
> > >  > > > > >  https://dev.eclipse.org/mailman/listinfo/ajdt-dev
> > >  > > > > >
> > >  > > > > >
> > >  > > > > >
> > >  > > > > _______________________________________________
> > >  > > > > ajdt-dev mailing list
> > >  > > > > ajdt-dev@xxxxxxxxxxx
> > >  > > > > https://dev.eclipse.org/mailman/listinfo/ajdt-dev
> > >  > > > >
> > >  > > > >
> > >  > > > >
> > >  > > > >
> > >  > > > >
> > >  > > >  _______________________________________________
> > >  > > >  ajdt-dev mailing list
> > >  > > >  ajdt-dev@xxxxxxxxxxx
> > >  > > >  https://dev.eclipse.org/mailman/listinfo/ajdt-dev
> > >  > > >
> > >  > > >
> > >  > > _______________________________________________
> > >  > > ajdt-dev mailing list
> > >  > > ajdt-dev@xxxxxxxxxxx
> > >  > > https://dev.eclipse.org/mailman/listinfo/ajdt-dev
> > >  > >
> > >  > >
> > >  > >
> > >  >
> > >  >  _______________________________________________
> > >  >  ajdt-dev mailing list
> > >  >  ajdt-dev@xxxxxxxxxxx
> > >  >  https://dev.eclipse.org/mailman/listinfo/ajdt-dev
> > >  >
> > >
> > >
> > _______________________________________________
> > ajdt-dev mailing list
> > ajdt-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/ajdt-dev
> >
> >
> >
> >
>
>  _______________________________________________
>  ajdt-dev mailing list
>  ajdt-dev@xxxxxxxxxxx
>  https://dev.eclipse.org/mailman/listinfo/ajdt-dev
>


Back to the top