[jbosstools-issues] [JBoss JIRA] (ERT-748) [GTK3] Shell dispose slowdown [EBZ#549644]
Jeff MAURY (Jira)
issues at jboss.org
Wed Sep 4 07:35:02 EDT 2019
[ https://issues.jboss.org/browse/ERT-748?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff MAURY updated ERT-748:
---------------------------
Sprint: devex #172 Sep 2019, devex #170 Aug 2019, devex #171 Aug 2019 (was: devex #170 Aug 2019, devex #171 Aug 2019)
> [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
> Assignee: Eric Williams
> Priority: Major
> Labels: 4.13_M3, SWT, bzira
>
> 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.13.5#713005)
More information about the jbosstools-issues
mailing list