Skip to content

Conversation

@jukzi
Copy link
Contributor

@jukzi jukzi commented Oct 7, 2024

to reduce used OS handles
try to avoid "org.eclipse.swt.SWTError: No more handles" during tests

to reduce used OS handles
try to avoid "org.eclipse.swt.SWTError: No more handles" during tests
@jukzi
Copy link
Contributor Author

jukzi commented Oct 7, 2024

Based on observation that DumpStackTracesTimer dumped multiple invisible "Dialog Verification" Shells when SWTError: No more handles was logged.

     [java] Shells: 
     [java]   invisible: Shell {Preferences} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Import} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Import} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {PartRenderingEngine's limbo} [layout=null]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Import} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   visible: Shell {Eclipse SDK} [layout=org.eclipse.e4.ui.workbench.renderers.swt.TrimmedPartLayout@56c93e2a]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Import} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   visible: Shell {ui_sniff_folder - Eclipse SDK} [layout=org.eclipse.e4.ui.workbench.renderers.swt.TrimmedPartLayout@106ed503]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Import} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Import} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Import} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Preferences} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Import} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Import} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   visible: Shell {Eclipse SDK} [layout=org.eclipse.e4.ui.workbench.renderers.swt.TrimmedPartLayout@531cc386]
     [java]   invisible: Shell {} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Import} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]
     [java]   invisible: Shell {Dialog Verification} [layout=GridLayout {numColumns=5 verticalSpacing=5}]

https://download.eclipse.org/eclipse/downloads/drops4/I20241006-1800/testresults/consolelogs/ep434I-unit-win32-java17_win32.win32.x86_64_17_consolelog.txt

@eclipse-platform-bot
Copy link
Contributor

This pull request changes some projects for the first time in this development cycle.
Therefore the following files need a version increment:

tests/org.eclipse.ui.tests.harness/META-INF/MANIFEST.MF

An additional commit containing all the necessary changes was pushed to the top of this PR's branch. To obtain these changes (for example if you want to push more changes) either fetch from your fork or apply the git patch.

Git patch
From 63bebce3a4c3626e89c94b18bf41fccc0a064635 Mon Sep 17 00:00:00 2001
From: Eclipse Platform Bot <[email protected]>
Date: Mon, 7 Oct 2024 14:39:43 +0000
Subject: [PATCH] Version bump(s) for 4.34 stream


diff --git a/tests/org.eclipse.ui.tests.harness/META-INF/MANIFEST.MF b/tests/org.eclipse.ui.tests.harness/META-INF/MANIFEST.MF
index 08849c0c87..ed65721730 100644
--- a/tests/org.eclipse.ui.tests.harness/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.ui.tests.harness/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Harness Plug-in
 Bundle-SymbolicName: org.eclipse.ui.tests.harness;singleton:=true
-Bundle-Version: 1.10.400.qualifier
+Bundle-Version: 1.10.500.qualifier
 Eclipse-BundleShape: dir
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
-- 
2.46.1

Further information are available in Common Build Issues - Missing version increments.

@iloveeclipse
Copy link
Member

This dialog seem to be created for a "one time use" in a test, are you sure it will behave properly if re-used?

@laeubi
Copy link
Contributor

laeubi commented Oct 7, 2024

Is then the problem not that the dialog is not disposed correctly?

@iloveeclipse
Copy link
Member

If we have no more handles on Windows only, we probably have a different, platform specific issue either with Windows SWT port (where we also see lot of test fails without this code) or with the Windows test environment.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 7, 2024

Test Results

 1 815 files  ±0   1 815 suites  ±0   1h 34m 16s ⏱️ - 9m 51s
 7 704 tests ±0   7 450 ✅  - 26  228 💤 ±0  2 ❌ +2  24 🔥 +24 
24 273 runs  ±0  23 452 ✅  - 74  747 💤 ±0  2 ❌ +2  72 🔥 +72 

For more details on these failures and errors, see this check.

Results for commit a19d070. ± Comparison against base commit 7b0f776.

@jukzi
Copy link
Contributor Author

jukzi commented Oct 8, 2024

As long as we do not know what the root cause for the many test fails is, it helps to solve all known issues - until only the root problem remains. It is for sure wrong that these Dialogs are never closed.

@jukzi
Copy link
Contributor Author

jukzi commented Oct 8, 2024

don't know yet why the DataTransferTestSuite failed with this PR. locally it works.

@jukzi
Copy link
Contributor Author

jukzi commented Oct 10, 2024

postponed a solution creating #2379

@jukzi jukzi closed this Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants