Details
-
Bug
-
Resolution: Out of scope
-
P1: Critical
-
None
-
5.15, 6.2.4, 6.3.0
-
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. |