Community
Participate
Working Groups
I am running swtbot tests inside docker with eclipse 2019-09, but when I run them inside the docker I get the following error, the tests run perfectly fine in eclipse 2019-03 inside docker. !SESSION 2019-11-12 20:17:58.723 ---------------------------------------- ------- eclipse.buildId=unknown java.version=11.0.5 java.vendor=AdoptOpenJDK BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US Framework arguments: -swtbot -suite C:/testrun/NIGHTLY -application org.eclipse.swtbot.eclipse.junit.headless.swtbottestapplication -product org.eclipse.platform.ide -testApplication C:/tmp/eclipse/plugins/org.eclipse.ui.ide.workbench -testPluginName ui.test -className ui.test.collection.BasicTests Command-line arguments: -swtbot -suite C:/testrun/NIGHTLY -application org.eclipse.swtbot.eclipse.junit.headless.swtbottestapplication -product org.eclipse.platform.ide -testApplication C:/tmp/eclipse/plugins/org.eclipse.ui.ide.workbench -data C:/tmp/eclipse/workspace -testPluginName ui.test -className ui.test.collection.BasicTests -debug -clean !ENTRY org.eclipse.osgi 4 0 2019-11-12 20:18:27.576 !MESSAGE Application error !STACK 1 org.eclipse.swt.SWTError: No more handles at org.eclipse.swt.SWT.error(SWT.java:4737) at org.eclipse.swt.SWT.error(SWT.java:4626) at org.eclipse.swt.SWT.error(SWT.java:4597) at org.eclipse.swt.widgets.Widget.error(Widget.java:452) at org.eclipse.swt.widgets.TaskBar.createHandle(TaskBar.java:75) at org.eclipse.swt.widgets.TaskBar.<init>(TaskBar.java:68) at org.eclipse.swt.widgets.Display.getSystemTaskBar(Display.java:2512) at org.eclipse.ui.internal.StandardTrim.createProgressBar(StandardTrim.java:76) at org.eclipse.ui.internal.StandardTrim.createWidget(StandardTrim.java:52) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:998) at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139) at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:408) at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:345) at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:227) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:94) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:60) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:37) at org.eclipse.e4.ui.workbench.renderers.swt.ToolControlRenderer.createWidget(ToolControlRenderer.java:129) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:1002) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717) at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:73) at org.eclipse.e4.ui.workbench.renderers.swt.TrimBarRenderer.processContents(TrimBarRenderer.java:134) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$1.run(PartRenderingEngine.java:547) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:531) at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.processContents(WBWRenderer.java:687) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1086) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1049) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:633) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150) at org.eclipse.swtbot.eclipse.junit.headless.UITestApplication.start(UITestApplication.java:58) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:660) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597) at org.eclipse.equinox.launcher.Main.run(Main.java:1468) at org.eclipse.equinox.launcher.Main.main(Main.java:1441) !ENTRY org.eclipse.e4.ui.workbench 4 0 2019-11-12 20:18:27.654 !MESSAGE !STACK 0 java.lang.NullPointerException at org.eclipse.ui.internal.WorkbenchWindow.updateLayoutDataForContents(WorkbenchWindow.java:2992) at org.eclipse.ui.internal.WorkbenchWindow.setCoolBarVisible(WorkbenchWindow.java:2793) at org.eclipse.ui.internal.ViewIntroAdapterPart.setBarVisibility(ViewIntroAdapterPart.java:222) at org.eclipse.ui.internal.ViewIntroAdapterPart.dispose(ViewIntroAdapterPart.java:151) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.invalidate(CompatibilityPart.java:260) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.destroy(CompatibilityPart.java:417) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:998) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:963) at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:459) at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:160) at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:83) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:105) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:68) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:186) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:171) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:171) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:171) at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:102) at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:144) at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:973) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:235) at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:141) at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:133) at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:231) at org.eclipse.osgi.container.Module.publishEvent(Module.java:498) at org.eclipse.osgi.container.Module.doStop(Module.java:656) at org.eclipse.osgi.container.Module.stop(Module.java:520) at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:207) at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:220) at java.base/java.lang.Thread.run(Thread.java:834) !ENTRY org.eclipse.e4.ui.workbench 4 0 2019-11-12 20:18:27.685 !MESSAGE FrameworkEvent ERROR !STACK 0 org.eclipse.swt.SWTException: Device is disposed at org.eclipse.swt.SWT.error(SWT.java:4711) at org.eclipse.swt.SWT.error(SWT.java:4626) at org.eclipse.swt.SWT.error(SWT.java:4597) at org.eclipse.swt.widgets.Display.error(Display.java:1191) at org.eclipse.swt.widgets.Display.asyncExec(Display.java:687) at org.eclipse.ui.internal.WorkbenchWindow$5.changed(WorkbenchWindow.java:865) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:108) at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled(EclipseContext.java:364) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:188) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:171) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:171) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:171) at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:102) at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:144) at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:973) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:235) at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:141) at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:133) at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:231) at org.eclipse.osgi.container.Module.publishEvent(Module.java:498) at org.eclipse.osgi.container.Module.doStop(Module.java:656) at org.eclipse.osgi.container.Module.stop(Module.java:520) at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:207) at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:220) at java.base/java.lang.Thread.run(Thread.java:834) Can anyone help me what is the issue?
First asked as Stack Overflow question: https://stackoverflow.com/q/58798314
I tried to run the tests using the following command inside the docker and get the following error java -jar C:/tmp/eclipse/plugins/org.eclipse.equinox.launcher_1.5.500.v20190715-1310.jar -application org.eclipse.swtbot.eclipse.junit.headless.swtbottestapplication -testApplication C:/tmp/eclipse/plugins/org.eclipse.ui.ide.workbench -data C:/tmp/eclipse/workspace -testPluginName ui.test -className ui.test.BasicTests -consoleLog -debug Install location: file:/c:/tmp/eclipse/ Configuration file: file:/c:/tmp/eclipse/configuration/config.ini loaded Configuration location: file:/c:/tmp/eclipse/configuration/ Framework located: file:/c:/tmp/eclipse/plugins/org.eclipse.osgi_3.15.0.v20190830-1434.jar Loading extension: reference:file:org.eclipse.osgi.compatibility.state_1.1.600.v20190814-1451.jar eclipse.properties not found Framework classpath: file:/c:/tmp/eclipse/plugins/org.eclipse.osgi_3.15.0.v20190830-1434.jar file:/c:/tmp/eclipse/plugins/ file:/c:/tmp/eclipse/plugins/org.eclipse.osgi.compatibility.state_1.1.600.v20190814-1451.jar Debug options: file:/C:/tmp/.options not found Time to load bundles: 422 Starting application: 3031 log4j:WARN No appenders could be found for logger (GuiLogger). log4j:WARN Please initialize the log4j system properly. !SESSION 2019-11-14 13:05:17.903 ----------------------------------------------- eclipse.buildId=unknown java.version=11.0.5 java.vendor=AdoptOpenJDK BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US Framework arguments: -application org.eclipse.swtbot.eclipse.junit.headless.swtbottestapplication -testApplication C:/tmp/eclipse/plugins/org.eclipse.ui.ide.workbench -testPluginName ui.test -className ui.test.BasicTests Command-line arguments: -application org.eclipse.swtbot.eclipse.junit.headless.swtbottestapplication -testApplication C:/tmp/eclipse/plugins/org.eclipse.ui.ide.workbench -data C:/tmp/eclipse/workspace -testPluginName ui.test -className ui.test.BasicTests -consoleLog -debug !ENTRY org.eclipse.osgi 4 0 2019-11-14 13:05:33.348 !MESSAGE Application error !STACK 1 java.lang.NullPointerException at org.eclipse.ui.internal.views.helpers.EmptyWorkspaceHelper.dispose(EmptyWorkspaceHelper.java:140) at org.eclipse.ui.internal.views.helpers.EmptyWorkspaceHelper.access$3(EmptyWorkspaceHelper.java:139) at org.eclipse.ui.internal.views.helpers.EmptyWorkspaceHelper$Listener.widgetDisposed(EmptyWorkspaceHelper.java:379) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:127) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4173) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) at org.eclipse.swt.widgets.Widget.release(Widget.java:814) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:931) at org.eclipse.swt.widgets.Widget.release(Widget.java:817) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:931) at org.eclipse.swt.widgets.Widget.release(Widget.java:817) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:931) at org.eclipse.swt.widgets.Widget.release(Widget.java:817) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:931) at org.eclipse.swt.widgets.Widget.release(Widget.java:817) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:931) at org.eclipse.swt.widgets.Widget.release(Widget.java:817) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:931) at org.eclipse.swt.widgets.Widget.release(Widget.java:817) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:931) at org.eclipse.swt.widgets.Widget.release(Widget.java:817) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:931) at org.eclipse.swt.widgets.Widget.release(Widget.java:817) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:931) at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:174) at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:730) at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1353) at org.eclipse.swt.widgets.Widget.release(Widget.java:817) at org.eclipse.swt.widgets.Widget.dispose(Widget.java:430) at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:408) at org.eclipse.swt.widgets.Shell.dispose(Shell.java:742) at org.eclipse.swt.widgets.Display.release(Display.java:3636) at org.eclipse.swt.graphics.Device.dispose(Device.java:277) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:166) at org.eclipse.swtbot.eclipse.junit.headless.UITestApplication.start(UITestApplication.java:58) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:660) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597) at org.eclipse.equinox.launcher.Main.run(Main.java:1468) at org.eclipse.equinox.launcher.Main.main(Main.java:1441) !ENTRY org.eclipse.e4.ui.workbench 4 0 2019-11-14 13:05:33.442 !MESSAGE !STACK 0 java.lang.NullPointerException at org.eclipse.jface.resource.JFaceResources.getResources(JFaceResources.java:213) at org.eclipse.jface.resource.JFaceResources.getResources(JFaceResources.java:231) at org.eclipse.ui.part.WorkbenchPart.dispose(WorkbenchPart.java:105) at org.eclipse.ui.navigator.CommonNavigator.dispose(CommonNavigator.java:327) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.invalidate(CompatibilityPart.java:260) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.destroy(CompatibilityPart.java:417) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:998) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:963) at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:459) at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:160) at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:83) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:105) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:68) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:186) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:171) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:171) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:171) at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:171) at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:102) at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:144) at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:973) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:235) at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:141) at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:133) at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:231) at org.eclipse.osgi.container.Module.publishEvent(Module.java:498) at org.eclipse.osgi.container.Module.doStop(Module.java:656) at org.eclipse.osgi.container.Module.stop(Module.java:520) at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:207) at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:220) at java.base/java.lang.Thread.run(Thread.java:834)
I get the same No more handles stack trace running tests with tycho and useUIHarness in Windows containers. <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-surefire-plugin</artifactId> <version>${tycho-version}</version> <configuration> <testRuntime>p2Installed</testRuntime> <work>${path}</work> <useUIHarness>true</useUIHarness> <useUIThread>true</useUIThread> ... Our previous eclipse version (Oxygen) seems to have ignored the non existing handles, 2019-12 fails.
Problem still exists in Eclipse 2020-06 and swt-4.16-win32-win32-x86_64 with Docker image windowsservercore-ltsc2019. The reason is not that the handles are depleted ("No more handles"), it's the call to int hr = COM.CoCreateInstance (COM.CLSID_TaskbarList, 0, COM.CLSCTX_INPROC_SERVER, COM.IID_ITaskbarList3, ppv); which returns 0x80040154 (REGDB_E_CLASSNOTREG). However, CLSID_TaskbarList and IID_ITaskbarList3 seems to be correctly registered in Docker. This is likely a 32 bit / 64 bit COM server issue.
I found out that CLSID_TaskbarList is NOT correctly registered in windows servercore Docker, since some Dlls (e.g. shdocvw.dll iexplore, shell extensions) are missing. As Christian Mathis wrote, somehow this "too many error" message is handled as OSGI application error in current Eclipse versions which causes an abort. The last working Eclipse version was Eclipse 2019-03 where this error was just propagated as org.eclipse.equinox.event Warning.
(In reply to Stefan Mairhofer from comment #4) > Problem still exists in Eclipse 2020-06 and swt-4.16-win32-win32-x86_64 with > Docker image windowsservercore-ltsc2019. > > The reason is not that the handles are depleted ("No more handles"), it's > the call to > > int hr = COM.CoCreateInstance (COM.CLSID_TaskbarList, 0, > COM.CLSCTX_INPROC_SERVER, COM.IID_ITaskbarList3, ppv); > > which returns 0x80040154 (REGDB_E_CLASSNOTREG). However, CLSID_TaskbarList > and IID_ITaskbarList3 seems to be correctly registered in Docker. > > This is likely a 32 bit / 64 bit COM server issue. IRRC, We dropped 32bit support last year. Hi Nikita, Any idea here ?
(In reply to Niraj Modi from comment #6) > (In reply to Stefan Mairhofer from comment #4) > > Problem still exists in Eclipse 2020-06 and swt-4.16-win32-win32-x86_64 with > > Docker image windowsservercore-ltsc2019. > > > > This is likely a 32 bit / 64 bit COM server issue. > > IRRC, We dropped 32bit support last year. > > Hi Nikita, > Any idea here ? "Server Core" variant of Windows is missing some major GUI components, inlcuding Explorer, Tray and Taskbar. It shouldn't be used for testing GUI programs. There's a "Server with Desktop Experience" variant for this. SWT could, in theory, handle this gracefully, since Taskbar functinality is optional. I.e Display.getSystemTaskBar() could return null on Server Core. Do you think it's worthwhile?
(In reply to Nikita Nemkin from comment #7) > (In reply to Niraj Modi from comment #6) > > (In reply to Stefan Mairhofer from comment #4) > > > Problem still exists in Eclipse 2020-06 and swt-4.16-win32-win32-x86_64 with > > > Docker image windowsservercore-ltsc2019. > > > > > > This is likely a 32 bit / 64 bit COM server issue. > > > > IRRC, We dropped 32bit support last year. > > > > Hi Nikita, > > Any idea here ? > > "Server Core" variant of Windows is missing some major GUI components, > inlcuding Explorer, Tray and Taskbar. It shouldn't be used for testing GUI > programs. > There's a "Server with Desktop Experience" variant for this. > > SWT could, in theory, handle this gracefully, since Taskbar functinality is > optional. I.e Display.getSystemTaskBar() could return null on Server Core. > Do you think it's worthwhile? Thanks Nikita. IMO, returning null should help and also goes inline with the JavaDoc of Display.getSystemTaskBar(): "Returns the single instance of the system taskBar or null when there is no system taskBar available for the platform."
Thank you all for the response. So what is the possible solution I want to updated eclipse to 2020-03 and the problem still exists? Is there any docker image that has all the required dlls? like Nikita mentioned or will be fixed on eclipse side?
(In reply to Umair Iqbal from comment #9) > Thank you all for the response. So what is the possible solution I want to > updated eclipse to 2020-03 and the problem still exists? Is there any docker > image that has all the required dlls? like Nikita mentioned or will be fixed > on eclipse side? Microsoft provides several docker images, including full Windows image https://hub.docker.com/_/microsoft-windows. I'm not sure why you chose Server Core in the first place? I'll fix this in SWT, but it will take a while for the fix to propagate.
Thank you Nikita I will try the full windows image.
In our case we use server core images because we use the jenkins/inbound-agent:jdk11-windowsservercore-1809 image. Which seems to use the 1809-amd64 image as a parent. And yes we run it on Windows Server Core as host too. Are there really full images? The List of repositories on https://hub.docker.com/_/microsoft-windows seems to indicate that there are servercore, nanoserver and iotcore images. @Nikita thanks for fixing this in SWT.
(In reply to Christian Mathis from comment #12) > In our case we use server core images because we use the > jenkins/inbound-agent:jdk11-windowsservercore-1809 image. > Which seems to use the 1809-amd64 image as a parent. > > And yes we run it on Windows Server Core as host too. > > Are there really full images? > The List of repositories on https://hub.docker.com/_/microsoft-windows seems > to indicate that there are servercore, nanoserver and iotcore images. Please read this https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/container-base-images I don't use Docker on Windows, but everything indicates that full Windows images are the only ones suitable for GUI applications.
Thanks for the pointer.
(In reply to Nikita Nemkin from comment #10) > Microsoft provides several docker images, including full Windows image > https://hub.docker.com/_/microsoft-windows. I'm not sure why you chose > Server Core in the first place? > > I'll fix this in SWT, but it will take a while for the fix to propagate. Thank you @Nikita. Returning null in Display.getSystemTaskBar() should solve it. AFAIK I can't use full windows and nano images in Gitlab CI, therefore I am limited to the servercore images.
The full windows images seem to work for me on a local setup. They are way slower though.
Gerrit change https://git.eclipse.org/r/c/platform/eclipse.platform.swt/+/165614 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=9d34da688c29c07551c28be16afa1b2ac160f557
(In reply to Eclipse Genie from comment #17) > Gerrit change > https://git.eclipse.org/r/c/platform/eclipse.platform.swt/+/165614 was > merged to [master]. > Commit: > http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/ > ?id=9d34da688c29c07551c28be16afa1b2ac160f557 Thanks Nikita for the quick fix, resolving now.
Thanks for the fix, in which eclipse we will have this change?
(In reply to Umair Iqbal from comment #19) > Thanks for the fix, in which eclipse we will have this change? Try out the latest nightly Eclipse IBuild and onwards: https://download.eclipse.org/eclipse/downloads/drops4/I20200702-2150/
(In reply to Christian Mathis from comment #12) > @Nikita thanks for fixing this in SWT. (In reply to Stefan Mairhofer from comment #15) > Thank you @Nikita. Returning null in Display.getSystemTaskBar() should solve > it. (In reply to Umair Iqbal from comment #19) > Thanks for the fix, in which eclipse we will have this change? Can anyone confirm verify the bug fix ? Thanks!
I tried it with the Eclipse integration build and it works for me now. Thanks all!
(In reply to Stefan Mairhofer from comment #22) > I tried it with the Eclipse integration build and it works for me now. > > Thanks all! Thanks for the confirmation, marking verified.
Since we use only official eclipse in our CI like eclipse 2020-03 or eclipse 2020-06, Should I expect this fix in eclipse 2020-09 ?