[PDE] Export fails on 3.6.1, upgraded application hangs [message #629841] |
Wed, 29 September 2010 13:37  |
Eclipse User |
|
|
|
Hello,
I have just finished migrating my RCP app from 3.5.2 to 3.6.1 today. In debug mode, everything works fine (and the overall performances seem better, by the way, great work!).
But now I have 2 problems :
1. Upgrading an already exported 3.5.2 based RCP app fails
I upgraded an existing version of my application which was 3.5.2 based from my update site. This upgrade downloads and installs everything perfectly well (with all the 3.6.1 new plugins). This is the method I used to do when integrating a new release of eclipse in my app and it always worked well.
After download and install from the update site, the update manager (i am not using p2) asks me to restart the application, as always. The application starts well but I can see that it is not using 3.6.1 (I see it because some SWT enhancements on cocoa are not visible).
After the workbench opens, it hangs and nothing is responding. The only option is to kill the app.
In the .log file, here is what I can find (each time I try to run it = same log) :
!SESSION 2010-09-29 17:39:07.688 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_20
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments: -keyring /Users/cfondacci/.eclipse_keyring -showlocation
Command-line arguments: -os macosx -ws cocoa -arch x86_64 -keyring /Users/cfondacci/.eclipse_keyring -showlocation
!ENTRY org.eclipse.equinox.simpleconfigurator 4 0 2010-09-29 17:39:08.668
!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.update.configurator 4 0 2010-09-29 17:39:08.686
!MESSAGE
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.update.internal.configurator.ConfigurationActivator.start() of bundle org.eclipse.update.configurator.
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.Exception: Cannot initialize the Update Configurator
at org.eclipse.update.internal.configurator.ConfigurationActivator.initialize(ConfigurationActivator.java:107)
at org.eclipse.update.internal.configurator.ConfigurationActivator.start(ConfigurationActivator.java:68)
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.Exception: Cannot initialize the Update Configurator
at org.eclipse.update.internal.configurator.ConfigurationActivator.initialize(ConfigurationActivator.java:107)
at org.eclipse.update.internal.configurator.ConfigurationActivator.start(ConfigurationActivator.java:68)
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 2010-09-29 17:39:12.689
!MESSAGE Bundle org.eclipse.equinox.simpleconfigurator_1.0.200.v20100503 [2755] is not active.
2. Trying to export the full product generates a corrupted / non working product
Now my second test was to export the product from scratch using the PDE export tool from the product editor. As I always do :
* I got the delta pack 3.6.1 installed and in my target config
* I got the "Generate a metadata repository" unchecked
* I got the "Export for multiple platforms" checked
The exported product is not executable. Looking at the export for my current configuration Mac OS X / Cocoa / 64 bits, I can see that the executable is not created in the Content/MacOS folder. The export doesn't raise any error and seems to terminate successfully. Same result when unchecking "multiple platforms".
After this, I tried exporting with the 'Generate a metadata repository' checked to see if that changes anything. This time the export fails with an error saying that it could not resolve the dependency to the equinox launcher. The exact message is 'Export product has encountered a problem.':
Cannot complete the install because one or more required items could not be found.
Software being installed: neXtep Designer 1.0.3 (com.neXtep.designer 1.0.3)
Missing requirement: neXtep Designer Development Environment 1.0.3.201009291603 (com.neXtep.designer.feature.feature.group 1.0.3.201009291603) requires 'org.eclipse.equinox.launcher [1.0.0,1.1.0)' but it could not be found
Cannot satisfy dependency:
After this, if I look in the plugins folder of the metadata repository, I can find the following launcher plugins :
org.eclipse.equinox.launcher_1.1.0.v20100507.jar
org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.1.R36x_v20100810.jar
org.eclipse.equinox.launcher.nl_fr_3.5.0.v20091121043401.jar
I think I can leave the language bundle. What looks strange here is that the macosx fragment is stamped 1.1.1 but the root plugin is 1.1.0. Since the previous PDE error message was looking for [1.0.0,1.1.0) maybe this is a problem ?
I run out of ideas / things to test.
Could anyone help me with this ? I would be pleased to test anything...
Thanks,
Christophe
http://www.nextep-softwares.com
|
|
|
|
|
Re: [PDE] Export fails on 3.6.1, upgraded application hangs [message #631112 is a reply to message #630000] |
Wed, 06 October 2010 04:56  |
Eclipse User |
|
|
|
Quick update:
workaround all problems.
Regression found on 3.6.1 (maybe existing from 3.6) for existing products :
* Splash plugin location need to be explicitly specified in the "splash" tab of the product editor, otherwise the exported product will not invoke the splash / splash handlers. (but the message says "leave blank for splash.bmp", this is no longer true)
* The check box 'The product includes native launcher artifacts" need to be checked
These are regression as a properly configured product in 3.5.2 (which can be exported successfully) cannot be exported in 3.6 unless these options are defined.
The other problem I ran into was that I had dependencies from my feature to the launcher plugin. No problem with 3.5.2 (actually I can't remember but I think theses dependencies had been automatically generated by eclipse in 3.3 or 3.4), but in 3.6 you won't be able to start an exported product (OK in debug).
So you need to make sure you haven't got any dependency on the launcher.
Hope this would help anyone running into these same problems. I truly think these items need to be at least documented.
Christophe
http://www.nextep-softwares.com
|
|
|
Powered by
FUDForum. Page generated in 0.11354 seconds