Bug 552980 - [Win32] org.eclipse.swt.SWTError: No more handles seen with TaskBar#createHandle() on Windows servercore
Summary: [Win32] org.eclipse.swt.SWTError: No more handles seen with TaskBar#createHan...
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.13   Edit
Hardware: PC Windows 10
: P3 normal with 1 vote (vote)
Target Milestone: 4.17 M1   Edit
Assignee: Nikita Nemkin CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-11-13 03:52 EST by Umair Iqbal CLA
Modified: 2021-06-02 17:52 EDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Umair Iqbal CLA 2019-11-13 03:52:43 EST
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?
Comment 1 Holger Voormann CLA 2019-11-14 04:13:38 EST
First asked as Stack Overflow question:
https://stackoverflow.com/q/58798314
Comment 2 Umair Iqbal CLA 2019-11-14 07:18:56 EST
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)
Comment 3 Christian Mathis CLA 2020-05-08 15:13:41 EDT
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.
Comment 4 Stefan Mairhofer CLA 2020-06-29 02:02:18 EDT
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.
Comment 5 Stefan Mairhofer CLA 2020-06-29 11:16:22 EDT
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.
Comment 6 Niraj Modi CLA 2020-06-30 04:30:40 EDT
(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 ?
Comment 7 Nikita Nemkin CLA 2020-06-30 04:57:52 EDT
(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?
Comment 8 Niraj Modi CLA 2020-06-30 05:48:06 EDT
(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."
Comment 9 Umair Iqbal CLA 2020-06-30 05:59:35 EDT
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?
Comment 10 Nikita Nemkin CLA 2020-06-30 06:15:40 EDT
(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.
Comment 11 Umair Iqbal CLA 2020-06-30 06:37:05 EDT
Thank you Nikita I will try the full windows image.
Comment 12 Christian Mathis CLA 2020-06-30 08:29:34 EDT
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.
Comment 13 Nikita Nemkin CLA 2020-06-30 09:01:34 EDT
(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.
Comment 14 Christian Mathis CLA 2020-06-30 09:19:24 EDT
Thanks for the pointer.
Comment 15 Stefan Mairhofer CLA 2020-07-01 02:02:01 EDT
(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.
Comment 16 Christian Mathis CLA 2020-07-02 07:07:53 EDT
The full windows images seem to work for me on a local setup.
They are way slower though.
Comment 18 Niraj Modi CLA 2020-07-02 08:00:38 EDT
(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.
Comment 19 Umair Iqbal CLA 2020-07-02 08:57:43 EDT
Thanks for the fix, in which eclipse we will have this change?
Comment 20 Niraj Modi CLA 2020-07-03 04:41:16 EDT
(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/
Comment 21 Niraj Modi CLA 2020-07-09 00:59:36 EDT
(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!
Comment 22 Stefan Mairhofer CLA 2020-07-10 01:23:40 EDT
I tried it with the Eclipse integration build and it works for me now.

Thanks all!
Comment 23 Niraj Modi CLA 2020-07-10 02:33:39 EDT
(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.
Comment 24 Umair Iqbal CLA 2020-07-10 18:58:19 EDT
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 ?