[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