Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-ui-dev] Using the Workspace Selection Dialog with a custom product

Everyone,

I wanted to let you know that I figured this out. The bug was essentially what Max suggested, that the OSGi components were being started instantly. The fix was not as simple as just un-checking that box though. I had to do a small amount of refactoring and use a service tracker in one case to get everything in order because of some unique elements of ICE. Everything seems to be working great now though.

Thank you very much for your help!

Jay

On Sun, Jun 21, 2015 at 10:57 AM, Jay Jay Billings <jayjaybillings@xxxxxxxxx> wrote:

Thanks Max. I'm pretty confident that is what is happening. I'm going to hook it up to the debugger this afternoon as Markus suggested and look at what is loading it. If I remember correctly all of our services are marked as immediate because it wasn't a problem when we were manually setting the default location.

Jay

On Jun 21, 2015 10:05 AM, "Max Rydahl Andersen" <manderse@xxxxxxxxxx> wrote:
for what it was worth we have this issue once or twice a year.

And every time it is caused by a plugin that too eagerly loads org.eclipse.core.resources.

Latest incarnation was https://issues.jboss.org/browse/JBIDE-19627

Here the cause was that our osgi services was marked as immediate (see https://github.com/jbosstools/jbosstools-openshift/pull/607/files)

The jira above has links to other suggestions for how to locate the possible cause.

Good luck hunting!

/max


As long as nobody has changed a preference to a non-default value, a
configuration/.settings/org.eclipse.ui.ide.prefs file is not necessary and
won't be created.
The default is to show the dialog, so if the *.prefs file is not there,
then this is probably not the problem (or you're using a different
configuration area).

I guess it's easiest if you just debug the startup process on your end.
Set a breakpoint in IDEApplication#checkInstanceLocation(Shell, Map) and
see why it doesn't reach promptForWorkspace(..).

If you can't reproduce the problem in an "Eclipse Application" launch
configuration where "Main > Workspace Data > Location" is empty, then you
may have to remote-debug the built product:

Launch the product with this VM arg (replace <free-port> with a free port
number, e.g. 50000):


-agentlib:jdwp=transport=dt_socket,suspend=y,server=y,address=localhost:<free-port>

... and then create and launch a "Remote Java Application" launch
configuration that uses the same port number.

Markus



From:   Jay Jay Billings <jayjaybillings@xxxxxxxxx>
To:     "Eclipse Platform UI component developers list."
<platform-ui-dev@xxxxxxxxxxx>
Date:   2015-06-18 16:03
Subject:        Re: [platform-ui-dev] Using the Workspace Selection Dialog
with a custom product
Sent by:        platform-ui-dev-bounces@xxxxxxxxxxx



Markus,

I think we may be on to something here. In the build generated by Tycho,
there is no configuration/.settings directory. Even after running the
executable this directory does not appear, although the
SHOW_WORKSPACE_SELECTION_DIALOG is checked under the workspace preferences
menu ("Startup and Shutdown").

Any thoughts on that?

Jay

On Thu, Jun 18, 2015 at 9:06 AM, Markus Keller <markus_keller@xxxxxxxxxx>
wrote:
Maybe the problem is that your configuration is set to not show the
workspace selection dialog.
This can be toggled in the UI at Preferences > General > Startup and
Shutdown > Workspaces > Prompt for workspace on startup.

The value is stored in
<path-to-eclipse-install>/configuration/.settings/org.eclipse.ui.ide.prefs.
This setting should make the dialog appear again:
SHOW_WORKSPACE_SELECTION_DIALOG=true

More information about the configuration location can be found here:
http://help.eclipse.org/mars/topic/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html#locations


Or maybe your configuration/config.ini sets a specific workspace location?


Markus



From:        Jay Jay Billings <jayjaybillings@xxxxxxxxx>
To:        "Eclipse Platform UI component developers list." <
platform-ui-dev@xxxxxxxxxxx>
Date:        2015-06-18 13:54
Subject:        Re: [platform-ui-dev] Using the Workspace Selection Dialog
with a custom product
Sent by:        platform-ui-dev-bounces@xxxxxxxxxxx



Thanks Daniel and Andrew.
We're running Kepler, but should have a Mars target by the end of the
week.
We are only setting the osgi.instance. area location on the command line.
Here's our product.
https://github.com/eclipse/ice/blob/jay/reflectivity/repository/org.eclipse.ice.repository/ice.product

I think some of our plugins are getting loaded before the workbench, yes.
They are all set to start at the default level, but I think our plugins
are getting loaded before the workbench application because they are OSGi
services. Most of them depend on the ResourcePlugin and I imagine that
when the framework stages the services it is triggering the configuration
of the ResourcePlugin. I tried changing the start level of our bundles to
be one greater than the default so that the would start later, but that
didn't fix it. I also tried to start the workbench earlier at a lower
start level, but that failed as well.
Jay
On Jun 18, 2015 6:35 AM, "Andrew Eidsness" <eclipse@xxxxxxxxxx> wrote:
The Eclipse runtime has a few locations that can only be set once.  The
workspace location (-data or osgi.instance.area) is one of them.  Also
included in this set are the configuration location (-configuration or
osgi.configuration.area) is another, the user location (-user or
osgi.user.area), and the state location.  See
org.eclipse.core.internal.runtime.InternalPlatform for gory details.

When a value is provided for one of these locations, it cannot be
changed.  Setting the instance location can prevent the
ChooseWorkspaceDialog from opening -- if -data (osgi.instance.area) has
been set, then the dialog will not open.

Further, some locations are linked.  Setting a value for one of them will
cause a value to be set in the others (the default value if one was not
provided).  For example, the state location is usually within the
workspace (the instance location).

Are you setting any other areas (e.g., the state location) from the
command line?  Are any of your customizations running before the
org.eclipse.ui.ide.workbench application -- perhaps they are triggering a
load of the state location?

There are more details (some out of date) and pointers in
http://eclip.se/32147 .

-Andrew

On 15-06-17 01:04 PM, Jay Jay Billings wrote:
Dear List,

Eclipse ICE (www.eclipse.org/ice) uses a custom product to include our
feature and some other things in our binary. Our product actually uses
org.eclipse.platform.ide as the product it launches and
org.eclipse.ui.ide.workbench as the application.

ICE is currently configured to use a dedicated workspace by passing the
osgi.instance.area flag in the VM args, but I am trying to change that so
that the workspace dialog will pop up at the beginning and users can pick
their workspace. Does anyone know what I need to do for this to work? I've
spent two days looking at this and nothing I try will cause the workspace
dialog to pop up, except adding -data @noDefault, which only messes up the
ResourcePlugin completely and prevents ICE from starting.

I'm not sure if this is the best place for this email, but it seemed like
a good start. I would greatly appreciate your thoughts (even if they are
just "Go away!" ;-)).

Jay

--
Jay Jay Billings
Oak Ridge National Laboratory
Twitter Handle: @jayjaybillings


_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev


_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev
_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev

_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev



--
Jay Jay Billings
Oak Ridge National Laboratory
Twitter Handle: @jayjaybillings
_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev
_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev


/max
http://about.me/maxandersen
_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev



--
Jay Jay Billings
Oak Ridge National Laboratory
Twitter Handle: @jayjaybillings

Back to the top