Bug 350758 - Mismatch AspectJ Version after installing AJDT 2.1.2 on Helios
Summary: Mismatch AspectJ Version after installing AJDT 2.1.2 on Helios
Status: REOPENED
Alias: None
Product: AspectJ
Classification: Tools
Component: IDE (show other bugs)
Version: 1.6.11   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-29 21:46 EDT by Setya Nugdjaja CLA
Modified: 2011-07-05 17:20 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Setya Nugdjaja CLA 2011-06-29 21:46:22 EDT
Hi,

After installing AJDT 2.1.2 I've encountered the following exception upon Eclipse restart:


org.aspectj.weaver.BCException: Unable to continue, this version of AspectJ supports classes built with weaver version 6.0 but the class org.eclipse.contribution.jdt.IsWovenTester is version 7.0

	at org.aspectj.weaver.bcel.Utility.readAjAttributes(Utility.java:83)
	at org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:355)
	at org.aspectj.weaver.bcel.BcelObjectType.<init>(BcelObjectType.java:146)
	at org.aspectj.weaver.bcel.BcelWorld.buildBcelDelegate(BcelWorld.java:371)
	at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:366)
	at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107)
	at org.aspectj.weaver.World.resolveToReferenceType(World.java:384)
	at org.aspectj.weaver.World.resolve(World.java:278)
	at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:158)
	at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432)
	at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267)
	at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159)
	at org.eclipse.equinox.weaving.aspectj.loadtime.OSGiWeavingAdaptor.initialize(Unknown Source)
	at org.eclipse.equinox.weaving.aspectj.AspectJWeavingService.ensureAdaptorInit(Unknown Source)
	at org.eclipse.equinox.weaving.aspectj.AspectJWeavingService.preProcess(Unknown Source)
	at org.eclipse.equinox.weaving.adaptors.WeavingAdaptor.weaveClass(Unknown Source)
	at org.eclipse.equinox.weaving.hooks.WeavingHook.processClass(Unknown Source)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:575)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:550)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:481)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:469)
	at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)
	at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)
	at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
	at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:904)
	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
	at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:2752)
	at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:2728)
	at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2688)
	at org.eclipse.jdt.internal.core.JavaModelManager$11.run(JavaModelManager.java:2613)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
	at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2653)
	at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1845)
	at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(JavaCore.java:3463)
	at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:35)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)


Thanks.

Setya
Comment 1 Andrew Eisenberg CLA 2011-06-30 00:59:13 EDT
Can you take a look at your plugins folder?  Look for the org.eclipse.equinox.weaving.aspectj*.jar bundle.  What is the full version number there?

Do you have ScalaIDE installed by any chance?
Comment 2 Setya Nugdjaja CLA 2011-06-30 01:32:53 EDT
Hi,
> Can you take a look at your plugins folder?  Look for the
> org.eclipse.equinox.weaving.aspectj*.jar bundle.  What is the full version
> number there?

It's 'org.eclipse.equinox.weaving.aspectj_1.0.0.v20100108.jar'

> Do you have ScalaIDE installed by any chance?

No


Setya
Comment 3 Andrew Eisenberg CLA 2011-06-30 12:46:24 EDT
You must have somehow gotten a version of org.eclipse.equinox.weaving.aspectj that was compiled under an older version of AspectJ.  Can you try this:

1. Uninstall AJDT
2. Open your Install manager (Help -> Install new software)
3. *Uncheck* Contact all update sites...
4. Reinstall AJDT

This should ensure that you get the most recent AJDT and that you only get components from the specified update site.  Please let me know if this is working for you.
Comment 4 Setya Nugdjaja CLA 2011-06-30 21:45:43 EDT
Hi,

I've tried your suggestion, initially the problem persisted, but then I realized that some projects contained old Aspectj weaver from Spring, so I replace it with the latest one and the problem is gone. I could not reproduce it ever since.

Thanks,

Setya
Comment 5 Andrew Eisenberg CLA 2011-07-01 17:17:15 EDT
Thanks for the reply.  I am closing this bug, but feel free to re-open if you see the problem again.

Resolving as invalid because the problem was not caused by AspectJ or AJDT.
Comment 6 Setya Nugdjaja CLA 2011-07-04 08:14:47 EDT
Hi,

I'm still experiencing this issue every now and then even after using the latest aspectjweaver.jar in my project.

Regards,

Setya
Comment 7 Andrew Clement CLA 2011-07-04 11:15:24 EDT
Hi Setya, if you have moved to a new version, can I check the message and stack trace are the same as they were? What version of the equinox weaving plugin do you have now?
Comment 8 Setya Nugdjaja CLA 2011-07-05 01:48:46 EDT
Hi,

I've tried AJDT with Indigo. It seems the problem is gone, instead I've got lots of messages:

[org.eclipse.ajdt.ui] error can't determine superclass of missing type org.eclipse.jdt.internal.junit.launcher.JUnit4TestFinder$AnnotationSearchRequestor
 [Xlint:cantFindType]
[org.eclipse.ajdt.ui] error can't determine superclass of missing type org.eclipse.jdt.internal.junit.launcher.JUnit4TestFinder$AnnotationSearchRequestor
 [Xlint:cantFindType]
[org.eclipse.ajdt.ui] error can't determine modifiers of missing type org.eclipse.jdt.internal.junit.launcher.JUnit4TestFinder$AnnotationSearchRequestor
when processing type mungers org.eclipse.ajdt.internal.ui.actions.AddAJNatureAction
when processing type mungers 
when weaving 
 [Xlint:cantFindType]
[org.eclipse.ajdt.ui] error can't determine modifiers of missing type org.eclipse.jdt.internal.junit.launcher.JUnit4TestFinder$AnnotationSearchRequestor
when processing type mungers org.eclipse.ajdt.internal.ui.actions.AddAJNatureAction
when processing type mungers 
when weaving 
 [Xlint:cantFindType]
[org.eclipse.ajdt.ui] error at org/eclipse/ajdt/internal/ui/actions/AddAJNatureAction.java::0 class 'org.eclipse.ajdt.internal.ui.actions.AddAJNatureAction' is already woven and has not been built in reweavable mode
[org.eclipse.ajdt.ui] error at org/eclipse/ajdt/internal/ui/actions/RemoveAJNatureAction.java::0 class 'org.eclipse.ajdt.internal.ui.actions.RemoveAJNatureAction' is already woven and has not been built in reweavable mode
[org.eclipse.ajdt.ui] error at org/eclipse/ajdt/internal/buildpath/SaveBCAction.java::0 class 'org.eclipse.ajdt.internal.buildpath.SaveBCAction' is already woven and has not been built in reweavable mode


With Helios, I've tried AJDT that comes with Spring's STS, since then it frequently throws :

Exception in thread "Queueing Thread (Spring UAA/1.0.2)" java.lang.OutOfMemoryError: PermGen space


Setya
Comment 9 Andrew Clement CLA 2011-07-05 17:20:36 EDT
The 'cant find type' messages are 'normal' (irritating but normal) when jdt weaving is running.

Maybe increase the permgen for helios based STS if you need to?  I can't recall the defaults but they can be seen and modified in the STS.ini file, I typically run 384m permgen.