[jbosstools-issues] [JBoss JIRA] (ERT-748) [GTK3] Shell dispose slowdown [EBZ#549644]
Friendly Jira Robot (Jira)
issues at jboss.org
Wed Jul 31 15:26:00 EDT 2019
Friendly Jira Robot created ERT-748:
---------------------------------------
Summary: [GTK3] Shell dispose slowdown [EBZ#549644]
Key: ERT-748
URL: https://issues.jboss.org/browse/ERT-748
Project: Eclipse Release Train
Issue Type: Task
Components: Platform
Reporter: Friendly Jira Robot
Created attachment 279428
Snippet
GTK version: 3.22.30
SWT version: 4928
With the fix from Bug 547227, SWTBot unit tests are sometimes able to complete on GTK3 successfully. However sometimes the build still fails with Tycho return code 137.
Running a loop to continuously create and dispose a ControlExample in a Shell shows that the dispose gets progressively slower.
Doing this with the SWTBot ControlExample (a modified copy) crashes the build after less than 700 iterations, with the dispose time starting around 300 ms and ending around 2,300 ms:
https://ci.eclipse.org/swtbot/job/swtbot-gerrit/1071/console
By comparison, the same code with GTK2 on 2018-09 target platform crashes after more than 13,000 iterations, but the dispose time is stable around 50 ms throughout:
https://ci.eclipse.org/swtbot/job/swtbot-gerrit/1070/console
The slowdown problem can be reproduced locally using the original ControlExample from SWT. See the included snippet.
Profiling this snippet shows that the majority of the time is spent in GTK._gtk_widget_destroy[native] for the Shell itself.
main 100,341 ms (100%) 100,341 ms (100%)
+SnippetControlExampleDispose.main () 100,341 ms (100%) 100,341 ms (100%)
+org.eclipse.swt.widgets.Shell.dispose () 64,397 ms (64.2%) 64,397 ms (64.2%)
+org.eclipse.swt.widgets.Widget.dispose () 64,397 ms (64.2%) 64,397 ms (64.2%)
+org.eclipse.swt.widgets.Control.release () 64,397 ms (64.2%) 64,397 ms (64.2%)
+org.eclipse.swt.widgets.Widget.release () 64,397 ms (64.2%) 64,397 ms (64.2%)
+org.eclipse.swt.widgets.Widget.destroyWidget () 61,443 ms (61.2%) 61,443 ms (61.2%)
+org.eclipse.swt.internal.gtk.GTK.gtk_widget_destroy () 61,443 ms (61.2%) 61,443 ms (61.2%)
+org.eclipse.swt.internal.gtk.GTK._gtk_widget_destroy[native] () 61,443 ms (61.2%) 61,443 ms (61.2%)
+org.eclipse.swt.widgets.Shell.releaseChildren () 2,954 ms (2.9%) 2,954 ms (2.9%)
+org.eclipse.swt.examples.controlexample.ControlExample.<init> () 35,103 ms (35%) 35,103 ms (35%)
+org.eclipse.swt.widgets.Shell.<init> () 840 ms (0.8%) 840 ms (0.8%)
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
More information about the jbosstools-issues
mailing list