Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-104866

when sending killl signal or ctrl+c while running qtquick3d, EGL resources allocated not freed

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • P1: Critical
    • None
    • 5.15, 6.2.4, 6.3.0
    • QPA: EGLFS, Qt3D, Quick: 3D
    • None
    • imx8

    Description

      we are running qtquick3d test  using our test scripts.
      In the script, we run one of the qtquick3d applications for a while, then kill it and starts next one.
      From the api trace log, the egl surfaces created in one application are never destroyed when getting kill signal, I feel QT didn't exit gracefully when getting quit signals.
      After running tests for long time, the total free memory and cma memory are also reduced significantly.  This leads to memory leak and memory corrupt when we run the tests using the script repeatedly, which caused our compositor crash randomly when we do overnight tests.

      We tried our internal opengles application. we can see from api trace the clean up code like eglDestroySurface() will be called if eglCreateSurface was ever invoked in the application in our clean up code when receiving kill signal or ctrl+c to exit the application since we put these clean up code in our C++ destructor.

      But I cannot see such behavior in qt3d and qtquick3d applications.

      I attached the log. |

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            lagocs Laszlo Agocs
            chingling chingling wang
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes