Details
-
Task
-
Resolution: Done
-
P0: Blocker
-
None
-
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== ...