Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-1289

Crash when closing QtCreator after opening any .qml file in Design mode

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • P0: Blocker
    • None
    • Quick / QML Support
    • None
    • Linux 32 bit
      creator/mainline.gt, commit a3aa879827334441e74ba426e8d92bc51c078420
      qt/qt.git, commit a17339e943f21bb6c6e16884f716dd9ab8f94938
      Also reproduced with qt/qt-qml.git, commit 2df82c21337506404c353a433adf48c62738a584

    Description

      How to reproduce

      Open e.g. $CREATORDIR/tests/manual/qml/testfiles/helloworld.qml in Qt Creator, Design mode. QtCreator crashes when closing the file / Visual Editor.

      Stack trace

      Program terminated with signal 11, Segmentation fault.
      #0  0x037c12be in QDeclarativeData::destroyed (this=0xa9869a8, object=0xa57de90) at qml/qdeclarativeengine.cpp:902
      902           g->objectDestroyed(object);
      (gdb) bt
      #0  0x037c12be in QDeclarativeData::destroyed (this=0xa9869a8, object=0xa57de90) at qml/qdeclarativeengine.cpp:902
      #1  0x002ad8d6 in ~QObject (this=0xa57de90, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/corelib/kernel/qobject.cpp:860
      #2  0x02f56fad in PropertyEditorValue::~PropertyEditorValue() () from /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libQmlDesigner.so
      #3  0x002a6c46 in QObjectPrivate::deleteChildren (this=0xa56cb48) at /home/kkoehne/dev/qt/qt-4.7/src/corelib/kernel/qobject.cpp:1949
      #4  0x002adcf0 in ~QObject (this=0xa557b0c, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/corelib/kernel/qobject.cpp:945
      #5  0x03718078 in ~QDeclarativePropertyMap (this=0xa557b0c, __in_chrg=<value optimized out>) at util/qdeclarativepropertymap.cpp:151
      #6  0x02e8c87e in QmlDesigner::PropertyEditor::NodeType::~NodeType() () from /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libQmlDesigner.so
      #7  0x02e8cbaf in QmlDesigner::PropertyEditor::~PropertyEditor() () from /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libQmlDesigner.so
      #8  0x002a6c46 in QObjectPrivate::deleteChildren (this=0xa29bee8) at /home/kkoehne/dev/qt/qt-4.7/src/corelib/kernel/qobject.cpp:1949
      #9  0x00dfc98a in ~QWidget (this=0xa29bec0, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/gui/kernel/qwidget.cpp:1495
      #10 0x011e9f41 in ~QFrame (this=0xa29bec0, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/gui/widgets/qframe.cpp:242
      #11 0x01257701 in ~QStackedWidget (this=0xa29bec0, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/gui/widgets/qstackedwidget.cpp:151
      #12 0x02e9d550 in QmlDesigner::AllPropertiesBox::~AllPropertiesBox() () from /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libQmlDesigner.so
      #13 0x08595014 in Core::SideBarItem::~SideBarItem() () from /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libCore.so
      #14 0x08597e76 in Core::SideBar::~SideBar() () from /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libCore.so
      #15 0x002a6c46 in QObjectPrivate::deleteChildren (this=0xa4009f8) at /home/kkoehne/dev/qt/qt-4.7/src/corelib/kernel/qobject.cpp:1949
      #16 0x00dfc98a in ~QWidget (this=0x9eb60e0, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/gui/kernel/qwidget.cpp:1495
      #17 0x011e9f41 in ~QFrame (this=0x9eb60e0, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/gui/widgets/qframe.cpp:242
      #18 0x01253903 in ~QSplitter (this=0x9eb60e0, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/gui/widgets/qsplitter.cpp:1056
      #19 0x08592235 in Core::MiniSplitter::~MiniSplitter() () from /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libCore.so
      #20 0x002a6c46 in QObjectPrivate::deleteChildren (this=0x9e40ff0) at /home/kkoehne/dev/qt/qt-4.7/src/corelib/kernel/qobject.cpp:1949
      #21 0x00dfc98a in ~QWidget (this=0x9e95de8, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/gui/kernel/qwidget.cpp:1495
      #22 0x02f44255 in QmlDesigner::Internal::DesignModeWidget::~DesignModeWidget() () from /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libQmlDesigner.so
      #23 0x002a6c46 in QObjectPrivate::deleteChildren (this=0x9c82ff0) at /home/kkoehne/dev/qt/qt-4.7/src/corelib/kernel/qobject.cpp:1949
      #24 0x00dfc98a in ~QWidget (this=0x9bc3300, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/gui/kernel/qwidget.cpp:1495
      #25 0x011e9f41 in ~QFrame (this=0x9bc3300, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/gui/widgets/qframe.cpp:242
      #26 0x01257755 in ~QStackedWidget (this=0x9bc3300, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/gui/widgets/qstackedwidget.cpp:151
      #27 0x002a6c46 in QObjectPrivate::deleteChildren (this=0x9ad3230) at /home/kkoehne/dev/qt/qt-4.7/src/corelib/kernel/qobject.cpp:1949
      #28 0x00dfc98a in ~QWidget (this=0x9ac6190, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/gui/kernel/qwidget.cpp:1495
      #29 0x085b5d02 in Core::Internal::FancyTabWidget::~FancyTabWidget() () from /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libCore.so
      #30 0x002a6c46 in QObjectPrivate::deleteChildren (this=0x99b5478) at /home/kkoehne/dev/qt/qt-4.7/src/corelib/kernel/qobject.cpp:1949
      #31 0x00dfc98a in ~QWidget (this=0x99b53b0, __in_chrg=<value optimized out>) at /home/kkoehne/dev/qt/qt-4.7/src/gui/kernel/qwidget.cpp:1495
      #32 0x01207b51 in ~QMainWindow (this=0x99b53b0, __in_chrg=<value optimized out>) at widgets/qmainwindow.cpp:329
      #33 0x084f8a53 in Core::Internal::MainWindow::~MainWindow() () from /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libCore.so
      #34 0x08577355 in Core::Internal::CorePlugin::~CorePlugin() () from /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libCore.so
      #35 0x00a0bb49 in ExtensionSystem::Internal::PluginSpecPrivate::kill() () from /home/kkoehne/dev/creator/bin/../lib/qtcreator/libExtensionSystem.so.1
      #36 0x00a07768 in ExtensionSystem::Internal::PluginManagerPrivate::loadPlugin(ExtensionSystem::PluginSpec*, ExtensionSystem::PluginSpec::State) () from /home/kkoehne/dev/creator/bin/../lib/qtcreator/libExtensionSystem.so.1
      #37 0x00a07e5d in ExtensionSystem::Internal::PluginManagerPrivate::stopAll() () from /home/kkoehne/dev/creator/bin/../lib/qtcreator/libExtensionSystem.so.1
      #38 0x00a0a000 in ExtensionSystem::Internal::PluginManagerPrivate::~PluginManagerPrivate() () from /home/kkoehne/dev/creator/bin/../lib/qtcreator/libExtensionSystem.so.1
      #39 0x00a02c77 in ExtensionSystem::PluginManager::~PluginManager() () from /home/kkoehne/dev/creator/bin/../lib/qtcreator/libExtensionSystem.so.1
      #40 0x08050121 in main ()
      

      Valgrind output

      Valgrind warns about multiple double deletions of QDeclarativeData objects:

      ==18328== Invalid read of size 4
      ==18328==    at 0xE95729D: QDeclarativeData::destroyed(QObject*) (qdeclarativeengine.cpp:902)
      ==18328==    by 0x4835103: QGraphicsItem::~QGraphicsItem() (qgraphicsitem.cpp:1418)
      ==18328==    by 0xE904B4A: QDeclarativeItem::~QDeclarativeItem() (qgraphicsitem.h:544)
      ==18328==    by 0xE8D07BF: QDeclarativePrivate::QDeclarativeElement<QDeclarativeItem>::~QDeclarativeElement() (qdeclarativeprivate.h:78)
      ==18328==    by 0x4859DAC: QGraphicsScene::clear() (qgraphicsscene.cpp:2410)
      ==18328==    by 0x4859F01: QGraphicsScene::~QGraphicsScene() (qgraphicsscene.cpp:1617)
      ==18328==    by 0xE86A126: QDeclarativeView::~QDeclarativeView() (qdeclarativeview.cpp:136)
      ==18328==    by 0xE6E3A31: QmlDesigner::ItemLibrary::~ItemLibrary() (in /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libQmlDesigner.so)
      ==18328==    by 0x720A013: Core::SideBarItem::~SideBarItem() (in /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libCore.so)
      ==18328==    by 0x720CE75: Core::SideBar::~SideBar() (in /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libCore.so)
      ==18328==    by 0x4DDEC45: QObjectPrivate::deleteChildren() (qobject.cpp:1949)
      ==18328==    by 0x4222989: QWidget::~QWidget() (qwidget.cpp:1495)
      ==18328==  Address 0xef46bf0 is 88 bytes inside a block of size 104 free'd
      ==18328==    at 0x40241CF: operator delete[](void*) (vg_replace_malloc.c:368)
      ==18328==    by 0xE95164A: QDeclarativeVMEMetaObject::~QDeclarativeVMEMetaObject() (qdeclarativevmemetaobject.cpp:420)
      ==18328==    by 0xE95155B: QDeclarativeVMEMetaObject::~QDeclarativeVMEMetaObject() (qdeclarativevmemetaobject.cpp:419)
      ==18328==    by 0x4DE0488: QObjectPrivate::~QObjectPrivate() (qobject.cpp:161)
      ==18328==    by 0x4DE5D40: QObject::~QObject() (qscopedpointer.h:62)
      ==18328==    by 0xE904B55: QDeclarativeItem::~QDeclarativeItem() (qgraphicsitem.h:544)
      ==18328==    by 0xE907E7A: QDeclarativeBasePositioner::~QDeclarativeBasePositioner() (qdeclarativepositioners.cpp:113)
      ==18328==    by 0xE8CED64: QDeclarativePrivate::QDeclarativeElement<QDeclarativeColumn>::~QDeclarativeElement() (qdeclarativepositioners_p.h:115)
      ==18328==    by 0x48351DC: QGraphicsItem::~QGraphicsItem() (qgraphicsitem.cpp:1441)
      ==18328==    by 0xE904B4A: QDeclarativeItem::~QDeclarativeItem() (qgraphicsitem.h:544)
      ==18328==    by 0xE907E7A: QDeclarativeBasePositioner::~QDeclarativeBasePositioner() (qdeclarativepositioners.cpp:113)
      ==18328==    by 0xE8CED64: QDeclarativePrivate::QDeclarativeElement<QDeclarativeColumn>::~QDeclarativeElement() (qdeclarativepositioners_p.h:115)
      ==18328== 
      ==18328== Invalid write of size 4
      ==18328==    at 0xE9572A2: QDeclarativeData::destroyed(QObject*) (qdeclarativeengine.cpp:899)
      ==18328==    by 0x4835103: QGraphicsItem::~QGraphicsItem() (qgraphicsitem.cpp:1418)
      ==18328==    by 0xE904B4A: QDeclarativeItem::~QDeclarativeItem() (qgraphicsitem.h:544)
      ==18328==    by 0xE8D07BF: QDeclarativePrivate::QDeclarativeElement<QDeclarativeItem>::~QDeclarativeElement() (qdeclarativeprivate.h:78)
      ==18328==    by 0x4859DAC: QGraphicsScene::clear() (qgraphicsscene.cpp:2410)
      ==18328==    by 0x4859F01: QGraphicsScene::~QGraphicsScene() (qgraphicsscene.cpp:1617)
      ==18328==    by 0xE86A126: QDeclarativeView::~QDeclarativeView() (qdeclarativeview.cpp:136)
      ==18328==    by 0xE6E3A31: QmlDesigner::ItemLibrary::~ItemLibrary() (in /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libQmlDesigner.so)
      ==18328==    by 0x720A013: Core::SideBarItem::~SideBarItem() (in /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libCore.so)
      ==18328==    by 0x720CE75: Core::SideBar::~SideBar() (in /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libCore.so)
      ==18328==    by 0x4DDEC45: QObjectPrivate::deleteChildren() (qobject.cpp:1949)
      ==18328==    by 0x4222989: QWidget::~QWidget() (qwidget.cpp:1495)
      ==18328==  Address 0xef46bf4 is 92 bytes inside a block of size 104 free'd
      ==18328==    at 0x40241CF: operator delete[](void*) (vg_replace_malloc.c:368)
      ==18328==    by 0xE95164A: QDeclarativeVMEMetaObject::~QDeclarativeVMEMetaObject() (qdeclarativevmemetaobject.cpp:420)
      ==18328==    by 0xE95155B: QDeclarativeVMEMetaObject::~QDeclarativeVMEMetaObject() (qdeclarativevmemetaobject.cpp:419)
      ==18328==    by 0x4DE0488: QObjectPrivate::~QObjectPrivate() (qobject.cpp:161)
      ==18328==    by 0x4DE5D40: QObject::~QObject() (qscopedpointer.h:62)
      ==18328==    by 0xE904B55: QDeclarativeItem::~QDeclarativeItem() (qgraphicsitem.h:544)
      ==18328==    by 0xE907E7A: QDeclarativeBasePositioner::~QDeclarativeBasePositioner() (qdeclarativepositioners.cpp:113)
      ==18328==    by 0xE8CED64: QDeclarativePrivate::QDeclarativeElement<QDeclarativeColumn>::~QDeclarativeElement() (qdeclarativepositioners_p.h:115)
      ==18328==    by 0x48351DC: QGraphicsItem::~QGraphicsItem() (qgraphicsitem.cpp:1441)
      ==18328==    by 0xE904B4A: QDeclarativeItem::~QDeclarativeItem() (qgraphicsitem.h:544)
      ==18328==    by 0xE907E7A: QDeclarativeBasePositioner::~QDeclarativeBasePositioner() (qdeclarativepositioners.cpp:113)
      ==18328==    by 0xE8CED64: QDeclarativePrivate::QDeclarativeElement<QDeclarativeColumn>::~QDeclarativeElement() (qdeclarativepositioners_p.h:115)
      ==18328== 
      ==18328== Invalid write of size 4
      ==18328==    at 0xE9572A9: QDeclarativeData::destroyed(QObject*) (qdeclarativeengine.cpp:900)
      ==18328==    by 0x4835103: QGraphicsItem::~QGraphicsItem() (qgraphicsitem.cpp:1418)
      ==18328==    by 0xE904B4A: QDeclarativeItem::~QDeclarativeItem() (qgraphicsitem.h:544)
      ==18328==    by 0xE8D07BF: QDeclarativePrivate::QDeclarativeElement<QDeclarativeItem>::~QDeclarativeElement() (qdeclarativeprivate.h:78)
      ==18328==    by 0x4859DAC: QGraphicsScene::clear() (qgraphicsscene.cpp:2410)
      ==18328==    by 0x4859F01: QGraphicsScene::~QGraphicsScene() (qgraphicsscene.cpp:1617)
      ==18328==    by 0xE86A126: QDeclarativeView::~QDeclarativeView() (qdeclarativeview.cpp:136)
      ==18328==    by 0xE6E3A31: QmlDesigner::ItemLibrary::~ItemLibrary() (in /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libQmlDesigner.so)
      ==18328==    by 0x720A013: Core::SideBarItem::~SideBarItem() (in /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libCore.so)
      ==18328==    by 0x720CE75: Core::SideBar::~SideBar() (in /home/kkoehne/dev/creator/lib/qtcreator/plugins/Nokia/libCore.so)
      ==18328==    by 0x4DDEC45: QObjectPrivate::deleteChildren() (qobject.cpp:1949)
      ==18328==    by 0x4222989: QWidget::~QWidget() (qwidget.cpp:1495)
      ==18328==  Address 0xef46bfc is 100 bytes inside a block of size 104 free'd
      ==18328==    at 0x40241CF: operator delete[](void*) (vg_replace_malloc.c:368)
      ==18328==    by 0xE95164A: QDeclarativeVMEMetaObject::~QDeclarativeVMEMetaObject() (qdeclarativevmemetaobject.cpp:420)
      ==18328==    by 0xE95155B: QDeclarativeVMEMetaObject::~QDeclarativeVMEMetaObject() (qdeclarativevmemetaobject.cpp:419)
      ==18328==    by 0x4DE0488: QObjectPrivate::~QObjectPrivate() (qobject.cpp:161)
      ==18328==    by 0x4DE5D40: QObject::~QObject() (qscopedpointer.h:62)
      ==18328==    by 0xE904B55: QDeclarativeItem::~QDeclarativeItem() (qgraphicsitem.h:544)
      ==18328==    by 0xE907E7A: QDeclarativeBasePositioner::~QDeclarativeBasePositioner() (qdeclarativepositioners.cpp:113)
      ==18328==    by 0xE8CED64: QDeclarativePrivate::QDeclarativeElement<QDeclarativeColumn>::~QDeclarativeElement() (qdeclarativepositioners_p.h:115)
      ==18328==    by 0x48351DC: QGraphicsItem::~QGraphicsItem() (qgraphicsitem.cpp:1441)
      ==18328==    by 0xE904B4A: QDeclarativeItem::~QDeclarativeItem() (qgraphicsitem.h:544)
      ==18328==    by 0xE907E7A: QDeclarativeBasePositioner::~QDeclarativeBasePositioner() (qdeclarativepositioners.cpp:113)
      ==18328==    by 0xE8CED64: QDeclarativePrivate::QDeclarativeElement<QDeclarativeColumn>::~QDeclarativeElement() (qdeclarativepositioners_p.h:115)
      ==18328== 
      ...
      

      Attachments

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

        Activity

          People

            kkohne Kai Köhne
            kkohne Kai Köhne
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes