osate / osate2

Open Source AADL2 Tool Environment
http://osate.org
Eclipse Public License 2.0
36 stars 8 forks source link

Cannot update/install test version in standard Eclipse (high priority) #433

Closed stevevestal closed 10 years ago

stevevestal commented 10 years ago

When I updated to the latest test release, OSATE broke. An Eclipse Revert operation failed, so the configuration is stuck broken. It seems advisable for users to avoid updating or installing the test release until this bug is fixed.

This occurred with eclipse-rcp-kepler-SR2-win32-x86_64. The latest OSATE test version that I can confirm will successfully install or update is the version of 27 June 2014. The latest OSATE2 stable version will successfully install/update. The latest product test bundle will install and work (but this is a custom stripped-down Eclipse configuration that we can't use for development). Installs of the latest test OSATE2 AADL alone and of the full OSATE2 source both failed.

The editor view displays the message "Plug-in org.osate.xtext.aadl2.ui was unable to load class org.osate.xtext.aadl2.ui.Aadl2ExecutableExtensionFactory." The error log includes the information: eclipse.buildId=4.3.2.M20140221-1700 java.version=1.7.0_65 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US Framework arguments: -product org.eclipse.epp.package.rcp.product Command-line arguments: -os win32 -ws win32 -arch x86_64 -clean -product org.eclipse.epp.package.rcp.product

Error Thu Sep 04 09:41:20 CDT 2014 Plug-in org.osate.xtext.aadl2.ui was unable to load class org.osate.xtext.aadl2.ui.Aadl2ExecutableExtensionFactory.

org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle org.osate.xtext.aadl2.ui (544). at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:124) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216) at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395) at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) at java.lang.ClassLoader.loadClass(Unknown Source) at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340) at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229) at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1212) at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174) at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905) 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.xtext.internal.ResourceServiceProviderDescriptor.get(ResourceServiceProviderDescriptor.java:39) at org.eclipse.xtext.resource.impl.ResourceServiceProviderRegistryImpl$InternalData.getServiceProvider(ResourceServiceProviderRegistryImpl.java:40) at org.eclipse.xtext.resource.impl.ResourceServiceProviderRegistryImpl.getResourceServiceProvider(ResourceServiceProviderRegistryImpl.java:77) at org.eclipse.xtext.resource.impl.ResourceServiceProviderRegistryImpl.getResourceServiceProvider(ResourceServiceProviderRegistryImpl.java:93) at org.eclipse.xtext.ui.resource.UriValidator.isValid(UriValidator.java:28) at org.eclipse.xtext.ui.resource.Storage2UriMapperImpl.isValidUri(Storage2UriMapperImpl.java:136) at org.eclipse.xtext.ui.resource.Storage2UriMapperImpl.getUri(Storage2UriMapperImpl.java:122) at org.eclipse.xtext.builder.impl.ToBeBuiltComputer.getUri(ToBeBuiltComputer.java:155) at org.eclipse.xtext.builder.impl.ToBeBuiltComputer.updateStorage(ToBeBuiltComputer.java:122) at org.eclipse.xtext.builder.impl.ToBeBuiltComputer$2.visit(ToBeBuiltComputer.java:108) at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:126) at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:82) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86) at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:127) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:95) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:52) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:124) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:108) at org.eclipse.xtext.builder.impl.ToBeBuiltComputer.updateProject(ToBeBuiltComputer.java:103) at org.eclipse.xtext.builder.impl.javasupport.JdtToBeBuiltComputer.updateProject(JdtToBeBuiltComputer.java:88) at org.eclipse.xtext.builder.impl.XtextBuilder.fullBuild(XtextBuilder.java:209) at org.eclipse.xtext.builder.impl.XtextBuilder.build(XtextBuilder.java:89) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:733) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:299) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:302) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:358) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:381) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) Caused by: org.osgi.framework.BundleException: Exception in org.osate.xtext.aadl2.ui.MyAadl2Activator.start() of bundle org.osate.xtext.aadl2.ui. at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683) at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300) at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:478) at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263) at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:109) ... 50 more Caused by: java.lang.RuntimeException: Failed to create injector for org.osate.xtext.aadl2.Aadl2 at org.osate.xtext.aadl2.ui.internal.Aadl2Activator.createInjector(Aadl2Activator.java:71) at org.osate.xtext.aadl2.ui.MyAadl2Activator.registerInjectorFor(MyAadl2Activator.java:70) at org.osate.xtext.aadl2.ui.MyAadl2Activator.start(MyAadl2Activator.java:52) at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702) ... 56 more Caused by: com.google.inject.CreationException: Guice creation errors:

1) No implementation for org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer annotated with @com.google.inject.name.Named(value=taskTagPreferenceInitializer) was bound. at org.osate.xtext.aadl2.ui.AbstractAadl2UiModule.configureTaskTagPreferenceStoreInitializer(AbstractAadl2UiModule.java:123)

1 error at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:435) at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:154) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106) at com.google.inject.Guice.createInjector(Guice.java:95) at com.google.inject.Guice.createInjector(Guice.java:72) at com.google.inject.Guice.createInjector(Guice.java:62) at org.osate.xtext.aadl2.ui.internal.Aadl2Activator.createInjector(Aadl2Activator.java:67) ... 61 more

philip-alldredge commented 10 years ago

Steve, I had similar issues. I resolved them by upgrading to the Luna release of Xtext. Strangely, I had to manually install Xtext after updating my eclipse installation.

stevevestal commented 10 years ago

I think you found the root issue, Philip. The latest stable release, 2.0.8, also fails in the same way -- on Eclipse Kepler. Eclipse Luna was a new release this June, successor to Kepler. I speculate they don't guarantee upward compatibility, and update requests made in Kepler only go to the Kepler update site (hence the need for you to manually install). If the OSATE2 team confirms this, they may want to send out a note that 2.0.8 is based on Eclipse Luna not Eclipse Kepler. Maybe OSATE2 releases should be tagged, e.g. OSATE2 Kepler, OSATE2 Luna, ...

lwrage commented 10 years ago

Once #450 is fixed, installation attempts on Kepler will fail before the installation takes place. The current version specifies the wrong dependencies.