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

Crash in "getDtor()" in "qmetatype.h"

    XMLWordPrintable

Details

    Description

      When signal with a QMouseEvent& argument is emitted (or any other QInputEvent subclass), and then that signal is connected in Javascript. Once that signal has been sent, there will be a crash at the next Javascript garbage collection (or on exit). It ends up crashing in "getDtor()" from "qmetatype.h".

      Please find minimal example attached.

      Steps to reproduce:
      1) Build and run the attached example against Qt 6.2.6
      2) Double click within the application window
      3) Application crashes

      It seems to work correctly in Qt 5 but leads to a crash since Qt 6. This seems to have been fixed in Qt 6.4.0-beta3. Crash however still happens in Qt 6.2 LTS branch so the changes are not back ported.

      After bisecting it seems that this was ultimately fixed by the commit 866d63f659edbcf96e08a791a70f4668e9c54ea3:
      https://codereview.qt-project.org/c/qt/qtbase/+/424019

      The commit does not apply directly to Qt 6.2 (nor Qt 6.4.0-beta2 which was the last known bad), which means it might need several commits to be back ported.

      Attachments

        For Gerrit Dashboard: QTBUG-109285
        # Subject Branch Project Status CR V

        Activity

          People

            fabiankosmale Fabian Kosmale
            foxxx Tuukka Kettunen
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There is 1 open Gerrit change