Eclipse osgi.configuration on Vista? [message #133693] |
Thu, 25 June 2009 17:41  |
Eclipse User |
|
|
|
We have an RCP application based on 3.5 that works fine on XP but crashes
on startup on Vista with this message:
!ENTRY org.eclipse.osgi 4 0 2009-06-19 18:24:20.091
!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(EclipseS tarter.java:368)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
* The eclipse install is in Program FIles.
* If I set
osgi.configuration.area=@user.home/foo/configuration
and
eclipse.p2.data.area=@config.dir/../p2/
it still crashes.
* If I copy eclipse\configuration to @user.home/foo/, the eclipse starts
and runs, but is missing the default Available Software Sites I preload
with a p2.inf file colocated with our Product file during build.
* If I copy eclipse\p2 to @user.home/foo/, then I get the default
Available Software Sites. Yeah! It seems like I can install new software
as a standard user, but the new Feature files are Virtualized instead of
going into @user.home/foo/configuration and don't appear as installed
features/plugins. No luck yet turning off virtualization with a manifest
file.
1) What is the "correct" way of installing on Vista so as to avoid all
these issues? Just setting osgi.configuration.area did not permit startup.
2) If I make Eclipse 'per user', then the only way I can get it to start
is to copy configuration (and p2) folders to the 'per user' area. However,
this can not be done at install time for all future users. Is there a
setting that says 'read config and p2 from the Program Files location
initially, write to per-user, and use per-user thereafter'?
3) If I make the configuration area common for all users, then the copy
only needs to be done at install time. However, if you switch from user A
to user B, Eclipse presents user A's workspace as the default for user B.
That doesn't seem right.
Other info: We use transform plugins that require early startup. So,
bundles.info might be critical to proper startup. Our configuration folder:
org.eclipse.equinox.simpleconfigurator
bundles.info
org.eclipse.update
platform.xml
config.ini
Thanks!
MSacarny
|
|
|
Re: Eclipse osgi.configuration on Vista? [message #133749 is a reply to message #133693] |
Fri, 26 June 2009 11:56   |
Eclipse User |
|
|
|
Hi Michael,
Can you post your config.ini and eclipse.ini. You shouldn't have to do
anything too fancy to get this working so hopefully i can point out what's
causing problems.
-Simon
" MSacarny" <michael.sacarny@analog.com> wrote in message
news:c5b4f2e1057668d683f7ac47ae2cf20b$1@www.eclipse.org...
> We have an RCP application based on 3.5 that works fine on XP but crashes
> on startup on Vista with this message:
>
> !ENTRY org.eclipse.osgi 4 0 2009-06-19 18:24:20.091
> !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(EclipseS tarter.java:368)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
>
> * The eclipse install is in Program FIles.
> * If I set osgi.configuration.area=@user.home/foo/configuration and
> eclipse.p2.data.area=@config.dir/../p2/ it still crashes.
> * If I copy eclipse\configuration to @user.home/foo/, the eclipse starts
> and runs, but is missing the default Available Software Sites I preload
> with a p2.inf file colocated with our Product file during build.
> * If I copy eclipse\p2 to @user.home/foo/, then I get the default
> Available Software Sites. Yeah! It seems like I can install new software
> as a standard user, but the new Feature files are Virtualized instead of
> going into @user.home/foo/configuration and don't appear as installed
> features/plugins. No luck yet turning off virtualization with a manifest
> file.
>
> 1) What is the "correct" way of installing on Vista so as to avoid all
> these issues? Just setting osgi.configuration.area did not permit startup.
> 2) If I make Eclipse 'per user', then the only way I can get it to start
> is to copy configuration (and p2) folders to the 'per user' area. However,
> this can not be done at install time for all future users. Is there a
> setting that says 'read config and p2 from the Program Files location
> initially, write to per-user, and use per-user thereafter'? 3) If I make
> the configuration area common for all users, then the copy only needs to
> be done at install time. However, if you switch from user A to user B,
> Eclipse presents user A's workspace as the default for user B. That
> doesn't seem right.
> Other info: We use transform plugins that require early startup. So,
> bundles.info might be critical to proper startup. Our configuration
> folder:
> org.eclipse.equinox.simpleconfigurator
> bundles.info
> org.eclipse.update
> platform.xml
> config.ini
>
> Thanks!
> MSacarny
>
|
|
|
Re: Eclipse osgi.configuration on Vista? [message #133810 is a reply to message #133749] |
Fri, 26 June 2009 15:14   |
Eclipse User |
|
|
|
Simon,
I've fixed most, but not all, the problems.
My eclipse.ini file was:
-startup
plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200 .v20090519
-vmargs
-Dosgi.instance.area.default=@user.home/VisualDSP Andromeda
-Dosgi.configuration.cascaded=false
My config.ini was:
#This configuration file was written by:
org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxF wConfigFileParser
#Fri Jun 26 14:46:45 EDT 2009
org.eclipse.update.reconcile=false
eclipse.p2.profile=VISUALDSPProfile
osgi.framework=file\:plugins/org.eclipse.osgi_3.5.0.v2009052 0.jar
osgi.bundles=reference\:file\:org.eclipse.equinox.ds_1.1.0.v20090601.jar@1\:start,reference\:file\: org.eclipse.equinox.simpleconfigurator_1.0.100.v20090520-190 5.jar @1\:start
org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.e clipse.equinox.simpleconfigurator/bundles.info
eclipse.product=com.analog.visualdsp.product
osgi.splashPath=platform\:/base/plugins/com.analog.visualdsp
osgi.framework.extensions=reference\:file\:org.eclipse.equin ox.transforms.hook_1.0.100.v200906261443.jar
osgi.bundles.defaultStartLevel=4
eclipse.p2.data.area=@config.dir/../p2/
eclipse.application=org.eclipse.ui.ide.workbench
The biggest problem was:
-Dosgi.configuration.cascaded=false
We had this set 'false' in order to get our transform plugins working
during development, as it is set that way in sample code for
org.eclipse.equinox.transforms.xslt.plugin. However, the transforms now
seem to work with this entry removed from the ini file, so I plan to take
it out. When I do this, each user gets his own config space automatically
under @user.home/.eclipse/<unique product hash>, and multi-user scenarios
seem to work very well. Users can upgrade/uninstall independently of each
other. I see no sign of file virtualization. Even the 'Dropins' folder
works, although is shared.
The only problem I see at this point is the default "Available Software
Site" I build into the product. It's not visible for any user. It
originates in p2.inf colocated with the product file at build time. We
build with SDK 3.5 but the build style is as in 3.4.1, that is, using
p2.generate.metadata. The site info is in the product in:
eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry\VIS UALDSPProfile.profile\ <profile
files>
and also in:
eclipse\p2\org.eclipse.equinox.p2.engine\profileRegistry\VIS UALDSPProfile.profile\.data\.settings\*.prefs
but doesn't seem to get picked up in the Vista configuration. Works fine
in XP.
I'm going to try and follow Niefer's comments in
http://www.eclipse.org/newsportal/article.php?id=1833&gr oup=eclipse.platform.pde#1833
about including p2.inf in our bundles. Maybe colocating with the product
file is insufficient.
Thanks!
Mike
Any help would be appreciated.
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.05359 seconds