Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-19979

New Docker connection wizard is confusing when no Docker is detected

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 4.3.0.CR1
    • 4.3.0.Beta1
    • docker, upstream
    • None
    • Hide

      1. Set up a docker connection (detection doesn't work for me, so in my case I entered the details for my boot2docker instance on mac manually) and use the default name - Default Local
      2. Make sure your docker cannot be detected with the new connection wizard (currently this is always the case for me on OS X)
      3. In Docker Explorer view, click the button to create another connection
      4. The name will pre-filled with the same default as your working connection: Default Local
      5. Click Finish - the wizard will close and there will be an error:
      (When I first tried this, I would always get a window with this error, but now in a new Eclipse instance, I only get this error in the error view.)
      Unhandled event loop exception

      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:497)
      	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.eclipse.linuxtools.internal.docker.core.DockerConnection.listImages(DockerConnection.java:945)
      	at org.eclipse.linuxtools.internal.docker.core.DockerConnection.getImages(DockerConnection.java:921)
      	at org.eclipse.linuxtools.internal.docker.ui.views.DockerImagesContentProvider$1$1.run(DockerImagesContentProvider.java:71)
      	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
      	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
      	... 23 more
      

      6. Open the new docker connection wizard again, this time change the name to something else than Default Local
      7. Click Finish - the wizard will not close and there will be another Unhandled loop exception thrown in the error view. (When I tried this previously, it eventually froze my Eclipse instance, but now it just generates the errors no matter how many times I try.)

      Show
      1. Set up a docker connection (detection doesn't work for me, so in my case I entered the details for my boot2docker instance on mac manually) and use the default name - Default Local 2. Make sure your docker cannot be detected with the new connection wizard (currently this is always the case for me on OS X) 3. In Docker Explorer view, click the button to create another connection 4. The name will pre-filled with the same default as your working connection: Default Local 5. Click Finish - the wizard will close and there will be an error: (When I first tried this, I would always get a window with this error, but now in a new Eclipse instance, I only get this error in the error view.) Unhandled event loop exception 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:497) 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.eclipse.linuxtools.internal.docker.core.DockerConnection.listImages(DockerConnection.java:945) at org.eclipse.linuxtools.internal.docker.core.DockerConnection.getImages(DockerConnection.java:921) at org.eclipse.linuxtools.internal.docker.ui.views.DockerImagesContentProvider$1$1.run(DockerImagesContentProvider.java:71) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) ... 23 more 6. Open the new docker connection wizard again, this time change the name to something else than Default Local 7. Click Finish - the wizard will not close and there will be another Unhandled loop exception thrown in the error view. (When I tried this previously, it eventually froze my Eclipse instance, but now it just generates the errors no matter how many times I try.)

      When I open the new Docker Connection wizard (clicking on the link in Docker Explorer) and no running Docker daemon is detected, there is no way to know this. If I know how this works, then I will know that a detected docker would result in prefilled fields in the Wizard. But if I don't know this, I can be easily confused. There is no warning or anything. And what's worse, I can even click Finish to create the connection. It should be disabled unless I select custom values in case Docker was not detected.

      Upstream bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=469635

            xcoulon@redhat.com Xavier Coulon
            exd-mmalina Martin Malina
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: