[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