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

RE-REPORT - QQuickWidget crashes on delete when it sets itself as a context property.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • Not Evaluated
    • None
    • 5.4.0 RC
    • Quick: Widget
    • None

    Description

      The previous bug (QTBUG-40745) was closed as invalid, but we also came across the same problem and it took us an entire day to work out the cause.

      This limitation needs to be documented or fixed.

      The attached program crashes on exit with this stack:

      #0	0x0000000100dae18b in QQmlData::destroyed(QObject*) at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/qml/qqmlengine.cpp:1573
      #1	0x0000000100dae140 in QQmlData::destroyed(QAbstractDeclarativeData*, QObject*) at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/qml/qqmlengine.cpp:620
      #2	0x000000010336c543 in QWidget::~QWidget() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtbase/src/widgets/kernel/qwidget.cpp:1624
      #3	0x000000010336cfd5 in QWidget::~QWidget() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtbase/src/widgets/kernel/qwidget.cpp:1511
      #4	0x000000010336d029 in QWidget::~QWidget() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtbase/src/widgets/kernel/qwidget.cpp:1511
      #5	0x0000000100d72a99 in (anonymous namespace)::QObjectDeleter::~QObjectDeleter() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1018
      #6	0x0000000100d72995 in (anonymous namespace)::QObjectDeleter::~QObjectDeleter() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1011
      #7	0x0000000100d729b9 in (anonymous namespace)::QObjectDeleter::~QObjectDeleter() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1011
      #8	0x0000000100cd86be in QV4::MemoryManager::sweep(bool) at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/jsruntime/qv4mm.cpp:377
      #9	0x0000000100cd8c80 in QV4::MemoryManager::~MemoryManager() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/jsruntime/qv4mm.cpp:515
      #10	0x0000000100cd8ca5 in QV4::MemoryManager::~MemoryManager() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/jsruntime/qv4mm.cpp:504
      #11	0x0000000100cbb534 in QV4::ExecutionEngine::~ExecutionEngine() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/jsruntime/qv4engine.cpp:425
      #12	0x0000000100cbb845 in QV4::ExecutionEngine::~ExecutionEngine() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/jsruntime/qv4engine.cpp:417
      #13	0x0000000100e8cf63 in QV8Engine::~QV8Engine() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/qml/v8/qv8engine.cpp:159
      #14	0x0000000100e8cfe5 in QV8Engine::~QV8Engine() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/qml/v8/qv8engine.cpp:149
      #15	0x0000000100e8d009 in QV8Engine::~QV8Engine() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/qml/v8/qv8engine.cpp:149
      #16	0x0000000100c0f835 in QJSEngine::~QJSEngine() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/jsapi/qjsengine.cpp:203
      #17	0x0000000100daf843 in QQmlEngine::~QQmlEngine() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/qml/qqmlengine.cpp:916
      #18	0x0000000100daf895 in QQmlEngine::~QQmlEngine() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/qml/qqmlengine.cpp:894
      #19	0x0000000100daf8b9 in QQmlEngine::~QQmlEngine() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/qml/qml/qqmlengine.cpp:894
      #20	0x0000000101e0c16b in QObjectPrivate::deleteChildren() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtbase/src/corelib/kernel/qobject.cpp:1950
      #21	0x000000010336c5ce in QWidget::~QWidget() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtbase/src/widgets/kernel/qwidget.cpp:1642
      #22	0x0000000100022756 in QQuickWidget::~QQuickWidget() at /Users/lukeworthdm/qt-everywhere-opensource-src-5.4.0-beta/qtdeclarative/src/quickwidgets/qquickwidget.cpp:394
      #23	0x000000010000656f in Ultimate::~Ultimate() at /Users/lukeworthdm/Desktop/untitled1/ultimate.h:19
      #24	0x0000000100006515 in Ultimate::~Ultimate() at /Users/lukeworthdm/Desktop/untitled1/ultimate.h:18
      #25	0x000000010000643f in main at /Users/lukeworthdm/Desktop/untitled1/main.cpp:14
      

      Attachments

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

        Activity

          People

            tvete Paul Olav Tvete
            lukeworth Luke Worth
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes