11

I get the following error when I try to launch my Eclipse RPC application:

!SESSION 2011-05-05 17:07:38.649 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_24
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_IE
Framework arguments:  -application org.eclipse.ui.ide.workbench
Command-line arguments:  -application org.eclipse.ui.ide.workbench -data C:\Users\eramkoh\PCI Workspace/../runtime-EclipseApplication -dev file:C:/Users/eramkoh/PCI Workspace/.metadata/.plugins/org.eclipse.pde.core/Eclipse Application/dev.properties -os win32 -ws win32 -arch x86 -consoleLog

!ENTRY org.eclipse.equinox.simpleconfigurator 4 0 2011-05-05 17:07:39.492
!MESSAGE 
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.simpleconfigurator.Activator.start() of bundle org.eclipse.equinox.simpleconfigurator.
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
Caused by: java.lang.IllegalStateException: The System Bundle was updated. The framework must be restarted to finalize the configuration change
    at org.eclipse.equinox.internal.simpleconfigurator.ConfigApplier.install(ConfigApplier.java:71)
    at org.eclipse.equinox.internal.simpleconfigurator.SimpleConfiguratorImpl.applyConfiguration(SimpleConfiguratorImpl.java:129)
    at org.eclipse.equinox.internal.simpleconfigurator.SimpleConfiguratorImpl.applyConfiguration(SimpleConfiguratorImpl.java:143)
    at org.eclipse.equinox.internal.simpleconfigurator.Activator.start(Activator.java:48)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
    ... 11 more
Root exception:
java.lang.IllegalStateException: The System Bundle was updated. The framework must be restarted to finalize the configuration change
    at org.eclipse.equinox.internal.simpleconfigurator.ConfigApplier.install(ConfigApplier.java:71)
    at org.eclipse.equinox.internal.simpleconfigurator.SimpleConfiguratorImpl.applyConfiguration(SimpleConfiguratorImpl.java:129)
    at org.eclipse.equinox.internal.simpleconfigurator.SimpleConfiguratorImpl.applyConfiguration(SimpleConfiguratorImpl.java:143)
    at org.eclipse.equinox.internal.simpleconfigurator.Activator.start(Activator.java:48)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374)
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

!ENTRY org.eclipse.osgi 4 0 2011-05-05 17:07:39.492
!MESSAGE Bundle org.eclipse.equinox.simpleconfigurator_1.0.101.R35x_v20090807-1100 [127] is not active.

!ENTRY org.eclipse.osgi 4 0 2011-05-05 17:07:39.523
!MESSAGE Application error
!STACK 1
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1383)

What should I do to resolve it?

Lii
  • 11,553
  • 8
  • 64
  • 88
Raman
  • 1,507
  • 3
  • 15
  • 25

3 Answers3

8

I had exactly the same problem and I realized what causes it. If you have some system related bundle more than once (org.eclipse.osgi for example) in your target file, then if you let your application running, then by default Eclipse adds all of the bundles to the launch configuration. So steps to take:

  1. Open launch config and go to plugins tab
  2. click on validate
  3. See which plugin is duplicated
  4. Leave only one checked, which is appropiate

See the picture below for details: enter image description here

Gábor Lipták
  • 9,646
  • 2
  • 59
  • 113
  • Thank you! This worked. But is there any way of removing the duplicates automatically/taking the higher version or just showing only the conflicting plug-ins? I have the situation where there are at least 200 plug-ins and manually clean up is very cumbersome. – Andrei Mar 27 '15 at 23:42
  • I think the only solution is to keep your target file nice and clean from duplications. At least I don't know any other possibilities. To keep the target clean adding features instead of bundles can help. – Gábor Lipták Mar 30 '15 at 19:51
  • Definitely will do so. Unfortunately this was a bigger project maintained by a group of people so I have to live with it. – Andrei Apr 07 '15 at 22:44
2

I've got a similar problem when trying to launch Eclipse CDT 4.1.1 (with couple 4.2.2 and several own plug-ins) from Eclipse SDK 4.2.2 on 32bit Java 7 VM in 32bit Windows Vista. I'm not sure what the root cause is, but I can reliably reproduce and solve it using the following steps.

  1. Set a new target platform definition, or reload an existing one.
  2. Try running JUnit4 plug-in tests in debug mode (Ctrl+F11), and observe everything working well.
  3. Restart Eclipse.
  4. Repeat step 2 and get the same java.lang.IllegalStateException as the topic starter.
  5. Reload the target platform definition, and click OK on "Target Definition Out Of Synch: The active target platform is out of synch with the file system. Pressing ok on the preference page will update the target platform"
  6. Repeat step 2 and observe that the error is gone again.

Since I don't get this error in a similar scenario with Eclipse 3.6, I would guess that the target platform code in Eclipse Juno does not handle NTFS file timestamps well enough. So, when an Eclipse instance is actually loaded, a changed bundle is erroneously detected and an attempt to reinstall it is made, leading to this error later.

Summary: try reloading the target platform if you get this error.

mkalkov
  • 1,364
  • 1
  • 11
  • 12
0

Try adding org.eclipse.core.runtime on the configuration tab of your product, and set it to a default start level (0) and auto start set to true.