Qt 6.2 - EGLFS app incorrect destruction
-
Hello!
I was profiling my Qt 6/QML program on Nvidia Jetson TX2 device (Ubuntu 18.04, Qt 6.2.2, EGLFS display) with GCC Address sanitizer and I noticed that every time it doesn't cleanly exit - it always has
SUMMARY: AddressSanitizer: 141686 byte(s) leaked in 1185 allocation(s).
Exactly same bytes in same allocation count.I thought it was an issue with my code but then I created single EGLFS Qt6/QML program with one screen and it happens as well. This is the minimal code needed for this to happen. I have attached the AddressSanitizer log as well - all issues looks like are with EGLFS.
int main(int argc, char* argv[]) { initLogger(); QGuiApplication app(argc, argv); QQmlApplicationEngine engine; // Signal handler initializeSignalHandler(Daemon::getInstance(), app, engine); // Start program // This is simply a black rectangle QML screen, nothing happens here const QUrl url(u"qrc:/main.qml"_qs); engine.load(url); auto main_ret = app.exec(); // Here I press CTRL + C and my signal handler calls: // engine.exit(0); // app.exit(0); // This happens after app.exit() - signal handler continues to exit and destroy all objects SPDLOG_WARN("Cleaning up resources & exiting"); return main_ret; }
These are my Qt app running parameters:
QT_QPA_PLATFORM=eglfs QT_QPA_EGLFS_INTEGRATION=eglfs_kms_egldevice
Attachment (Address Sanitizer output):
https://drive.google.com/file/d/1R_v5AgRSB6wxGiBRws_BLrFpbof7QmLq/view?usp=drive_linkWhat is the issue here? Is this a Qt bug?