Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Language IDEs » AJDT » How to Empty the Cache of Equinox Weaving (Disable Caching for Experimenting with LTW)
How to Empty the Cache of Equinox Weaving [message #989513] Thu, 06 December 2012 14:51 Go to next message
Helge Mising name is currently offline Helge Mising nameFriend
Messages: 17
Registered: October 2010
Junior Member
Dear all,

I am using AspectJ and Equinox Weaving for load-time weaving. I have some issues with cached, woven byte code.

I am currently developing an aspect and I am experimenting with different pointcuts to which I apply advices. For example, I had a pointcut

private pointcut underWorkerRunner() : !within(Tracer) && cflowbelow(execution(public void run()));


which in a Tracer aspect advices all pointcuts in the control flow below Eclipse's org.eclipse.core.internal.jobs.Worker class. Now, after removing the pointcut specification and adding some others I get the following error when starting my Eclipse runtime instance:

[org.eclipse.equinox.weaving.caching] info starting standard caching service ...
Exception in thread "Worker-JM" java.lang.NoSuchFieldError: ajc$cflowCounter$0
at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java)

Obviously, some code somewhere still advices the run method.

Here http://eclipse.org/aspectj/doc/released/README-170.html I found a comment on how to enable caching. I tried to turn it of by setting the VM argument of my run configuration aj.weaving.cache.enabled to false. But it does not change anything. My AspectJ related VM arguments are (-Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook -Dorg.aspectj.osgi.verbose=true -Dorg.aspectj.weaver.showWeaveInfo=true -Daj.weaving.cache.enabled=false)

Did I forget to use another VM argument to clean the cache before the start of an Eclipse runtime instance? If not what do I have to do to clean the cache? For experimenting and early development I do not want equinox weaving caches enabled.

I am glad for any hint on where to find a solution to my problem.

Best regards,
Helge

[Updated on: Thu, 06 December 2012 14:52]

Report message to a moderator

Re: How to Empty the Cache of Equinox Weaving [message #989553 is a reply to message #989513] Thu, 06 December 2012 17:25 Go to previous messageGo to next message
Andrew Eisenberg is currently offline Andrew EisenbergFriend
Messages: 369
Registered: July 2009
Senior Member
The caching mechanism described in the 1.7.0 readme and the one used by equinox aspects are different. I'm not even sure if the AspectJ caching will work with equinox weaving. I suggest that you disable it.

To get rid of the equinox weaving cache, you can do one of 2 things:

1. remove the o.e.e.weaving.cache bundle from your osgi app
2. restart with the -clean option to clean out your configuration area
Re: How to Empty the Cache of Equinox Weaving [message #989727 is a reply to message #989553] Fri, 07 December 2012 12:58 Go to previous message
Helge Mising name is currently offline Helge Mising nameFriend
Messages: 17
Registered: October 2010
Junior Member
Hi Andrew,

Thank you for the quick reply. The -clean option did the trick. Thank you very much.

Best,
Helge
Previous Topic: [Urgent] - Bad version numner found in AspectJ 1.7.0 (m2eclipse issue?)
Next Topic:quick type hierarchy in indygo problem
Goto Forum:
  


Current Time: Sun Nov 23 21:37:10 GMT 2014

Powered by FUDForum. Page generated in 0.01802 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software