Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.12.0
-
-
60f766f5c68fc33322c6d095d81b1856828b2b0b b6d0ed435d2d57359b6eafb2728c024eab0b1ece
Description
I was attempting to track down a memory issue that manifested in 5.12.0 in a very complex commercial QML application. Most of the stack traces ended up in QV4::MarkStack::drain. It seemed like running with QV4_MM_AGGRESSIVE_GC=1 and QT_LOGGING_RULES="qt.qml.gc.*=true" was a good way to rule out the engine.
It appears that running with QV4_MM_AGGRESSIVE_GC=1 causes a crash when the QQmlApplicationEngine is started with no parameters. I need to inject an import path into the engine, so running the parameter-based constructor is not an option.
These issues also appear in the mapviewer QML example. When running mapviewer with QT_LOGGING_RULES="qt.qml.gc.*=true", lost memory is always reported whenever garbage collection runs and the logging itself eventually causes a crash.