Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[test] DialogCheck: reuse VerifyDialog #2364

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

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 <platform-bot@eclipse.org>
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.

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.

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.

5 participants