Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse 4 » Incompatibility between 3.x and 4.x in InternalPlatform
Incompatibility between 3.x and 4.x in InternalPlatform [message #1723413] Mon, 15 February 2016 13:27 Go to next message
Erdal Karaca is currently offline Erdal KaracaFriend
Messages: 854
Registered: July 2009
Senior Member
I am getting the following exception on platform shutdown in 4.x.
It seems the relevant change (from 3.x to 4.x) is in

org.eclipse.core.runtime.Plugin.savePluginPreferences()


In 4.x, org.eclipse.core.internal.runtime.InternalPlatform.getInstanceLocation() is called which checks if the platform is initialized. In 3.x there is no call to InternalPlatform.getInstanceLocation() within Plugin.savePluginPreferences()

It seems that whenever the Platform is shutdown before any other UI plugin (AbstractUIPlugin), the exception below will be thrown.

Question: does the RCP product have to make sure that all UI plugins are shutdown before InternalPlatform.stop() is called or is this a bug in 4.x as it does not handle InternalPlatform.initialized properly?

org.osgi.framework.BundleException: Exception in AbcUIPlugin.stop() of bundle abc.
	at org.eclipse.osgi.internal.framework.BundleContextImpl.stop(BundleContextImpl.java:847)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.stopWorker0(EquinoxBundle.java:950)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.stopWorker(EquinoxBundle.java:324)
	at org.eclipse.osgi.container.Module.doStop(Module.java:626)
	at org.eclipse.osgi.container.Module.stop(Module.java:488)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.decStartLevel(ModuleContainer.java:1623)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1542)
	at org.eclipse.osgi.container.SystemModule.stopWorker(SystemModule.java:248)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.stopWorker(EquinoxBundle.java:145)
	at org.eclipse.osgi.container.Module.doStop(Module.java:626)
	at org.eclipse.osgi.container.Module.stop(Module.java:488)
	at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:186)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:160)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.eclipse.core.runtime.AssertionFailedException: assertion failed: The application has not been initialized.
	at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110)
	at org.eclipse.core.internal.runtime.InternalPlatform.assertInitialized(InternalPlatform.java:139)
	at org.eclipse.core.internal.runtime.InternalPlatform.getInstanceLocation(InternalPlatform.java:319)
	at org.eclipse.core.runtime.Plugin.savePluginPreferences(Plugin.java:400)
	at org.eclipse.ui.plugin.AbstractUIPlugin.savePreferenceStore(AbstractUIPlugin.java:533)
	at org.eclipse.ui.plugin.AbstractUIPlugin.stop(AbstractUIPlugin.java:644)
	at AbcUIPlugin.stop(AbcPlugin.java:129)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:827)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:1)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.stop(BundleContextImpl.java:820)
	... 13 more
Root exception:
org.eclipse.core.runtime.AssertionFailedException: assertion failed: The application has not been initialized.
	at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110)
	at org.eclipse.core.internal.runtime.InternalPlatform.assertInitialized(InternalPlatform.java:139)
	at org.eclipse.core.internal.runtime.InternalPlatform.getInstanceLocation(InternalPlatform.java:319)
	at org.eclipse.core.runtime.Plugin.savePluginPreferences(Plugin.java:400)
	at org.eclipse.ui.plugin.AbstractUIPlugin.savePreferenceStore(AbstractUIPlugin.java:533)
	at org.eclipse.ui.plugin.AbstractUIPlugin.stop(AbstractUIPlugin.java:644)
	at AbcUIPlugin.stop(AbcPlugin.java:129)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:827)
	at org.eclipse.osgi.internal.framework.BundleContextImpl$4.run(BundleContextImpl.java:1)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.stop(BundleContextImpl.java:820)
	at org.eclipse.osgi.internal.framework.EquinoxBundle.stopWorker0(EquinoxBundle.java:950)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.stopWorker(EquinoxBundle.java:324)
	at org.eclipse.osgi.container.Module.doStop(Module.java:626)
	at org.eclipse.osgi.container.Module.stop(Module.java:488)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.decStartLevel(ModuleContainer.java:1623)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1542)
	at org.eclipse.osgi.container.SystemModule.stopWorker(SystemModule.java:248)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.stopWorker(EquinoxBundle.java:145)
	at org.eclipse.osgi.container.Module.doStop(Module.java:626)
	at org.eclipse.osgi.container.Module.stop(Module.java:488)
	at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:186)
	at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:160)
	at java.lang.Thread.run(Thread.java:745)
Re: Incompatibility between 3.x and 4.x in InternalPlatform [message #1724211 is a reply to message #1723413] Mon, 22 February 2016 10:13 Go to previous message
Erdal Karaca is currently offline Erdal KaracaFriend
Messages: 854
Registered: July 2009
Senior Member
Issued bug report:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=488203
Previous Topic:Workspace location dialog/hook
Next Topic:Execute arguments validation code before loading Equinox services
Goto Forum:
  


Current Time: Fri Apr 26 21:31:17 GMT 2024

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

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

Back to the top