[jbosstools-issues] [JBoss JIRA] (JBIDE-21170) Problems with CDK Adapter resulting from missing PATH in Eclipse on Mac

Martin Malina (JIRA) issues at jboss.org
Tue Mar 1 03:10:00 EST 2016


    [ https://issues.jboss.org/browse/JBIDE-21170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13169892#comment-13169892 ] 

Martin Malina commented on JBIDE-21170:
---------------------------------------

[~fbricon], which new PR? https://github.com/jbosstools/jbosstools-openshift/pull/990 ?
That's really strange. It doesn't work for me and Rob eventually found out that what he does cannot work - he checks if the PATH is empty and if so, he will do his magic to get the PATH. But in my case there is a very limited PATH - if I go to launch config -> Environment and click the Select button, I can see this PATH there:
{code}/usr/bin:/bin:/usr/sbin:/sbin{code}
So Rob's code doesn't work for this use case:
{code}
if( existingPath.isEmpty() && pathCommand != null) {
{code}
He'll need to come up with something that works in this scenario.

> Problems with CDK Adapter resulting from missing PATH in Eclipse on Mac
> -----------------------------------------------------------------------
>
>                 Key: JBIDE-21170
>                 URL: https://issues.jboss.org/browse/JBIDE-21170
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: cdk
>    Affects Versions: 4.3.1.Beta1
>            Reporter: Martin Malina
>            Assignee: Rob Stryker
>             Fix For: 4.3.1.CR1
>
>
> The problem is that CDK tooling relies on PATH to find vagrant. And the "vagrant up" command in turn depends on PATH to find e.g. VBoxManage.
> On Mac, when you start your Eclipse / JBDS as an app by double-clicking an icon on your Desktop or in Finder, the Eclipse instance will have no PATH env variable.
> One workaround is to start your Eclipse from command line by going inside the package:
> {code}
> cd Eclipse.app/Contents/MacOS
> ./eclipse
> {code}
> But this is definitely not the recommended way to start Eclipse - I'm not sure if eclipse.ini is located properly in this case. But at least PATH is correct then.
> There is actually one more workaround. To add your PATH to the Environment tab in Launch config. That works for me.
> So that might be a potential solution to this problem - have a predefined PATH for each OS in case there is none defined in the Eclipse process.
> After I set up a CDK server adapter and fixed the wrong path to vagrant in the launch config, I then started the server adapter and got this:
> Server CDK Server Adapter at localhost failed to start.
> Console:
> {code}
> The provider 'virtualbox' that was requested to back the machine
> 'default' is reporting that it isn't usable on this system. The
> reason is shown below:
> Vagrant could not detect VirtualBox! Make sure VirtualBox is properly installed.
> Vagrant uses the `VBoxManage` binary that ships with VirtualBox, and requires
> this to be available on the PATH. If VirtualBox is installed, please find the
> `VBoxManage` binary and add it to the PATH environmental variable.
> {code}
> Along with this, there was an Unhandled event loop exception in the error view:
> {code}
> org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)
> 	at org.eclipse.swt.SWT.error(SWT.java:4491)
> 	at org.eclipse.swt.SWT.error(SWT.java:4406)
> 	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)
> 	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4024)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3700)
> 	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
> 	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
> 	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
> 	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
> 	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
> 	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
> 	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
> 	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
> 	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
> 	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:520)
> 	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
> 	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
> 	at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
> Caused by: java.lang.NullPointerException
> 	at org.jboss.tools.central.editors.GettingStartedHtmlPage.updateEarlyAccess(GettingStartedHtmlPage.java:359)
> 	at org.jboss.tools.central.editors.GettingStartedHtmlPage.access$14(GettingStartedHtmlPage.java:342)
> 	at org.jboss.tools.central.editors.GettingStartedHtmlPage$6$1.run(GettingStartedHtmlPage.java:327)
> 	at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:162)
> 	at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:154)
> 	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
> 	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
> 	... 23 more
> {code}
> In the command line, VBoxManage is accessible and it is located in /usr/local/bin/ and on my PATH.
> Max suggested I could try to start Eclipse from command line instead of double-clicking in Finder (which is the normal way to do it on Mac) and that helped.
> So for some reason when you start Eclipse using Eclipse.app from Finder, the PATH is incorrect.



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jbosstools-issues mailing list