81
|
|
|
Albert Astals Cid |
|
8 years ago
|
|
|
80
|
|
|
Albert Astals Cid |
|
8 years ago
|
|
|
79
|
|
|
CI Train Bot |
0.1+16.04.20160111-0ubuntu1 |
8 years ago
|
|
|
78
|
|
Disconnect signal handler on destruction
When running unity8 under valgrind sometimes I get
==31122== Invalid read of size 8 ==31122== at 0x620DB42: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2) ==31122== by 0x1C7C63EE: invokeMethod (qobjectdefs.h:391) ==31122== by 0x1C7C63EE: QGSettingsPrivate::settingChanged(_GSettings*, char const*, void*) (qgsettings.cpp:40) ==31122== by 0x129DAA59: g_cclosure_marshal_VOID__STRINGv (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1) ==31122== by 0x129D81D3: _g_closure_invoke_va (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1) ==31122== by 0x129F29D5: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1) ==31122== by 0x129F30BE: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1) ==31122== by 0x138478EB: g_settings_real_change_event (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4700.1) ==31122== by 0x14540D8F: ffi_call_unix64 (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4) ==31122== by 0x145407F7: ffi_call (in /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4) ==31122== by 0x129D8CF4: g_cclosure_marshal_generic_va (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1) ==31122== by 0x129D81D3: _g_closure_invoke_va (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1) ==31122== by 0x129F24E7: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4700.1) ==31122== Address 0x1dbaa450 is 0 bytes inside a block of size 24 free'd ==31122== at 0x4C2D28B: operator delete(void*) (vg_replace_malloc.c:575) ==31122== by 0x622CD2A: QObjectPrivate::deleteChildren() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2) ==31122== by 0x623661F: QObject::~QObject() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2) ==31122== by 0x1C5BB7AD: ~QQmlElement (qqmlprivate.h:98) ==31122== by 0x1C5BB7AD: QQmlPrivate::QQmlElement<GSettingsQml>::~QQmlElement() (qqmlprivate.h:98) ==31122== by 0x622CD2A: QObjectPrivate::deleteChildren() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2) ==31122== by 0x623661F: QObject::~QObject() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2) ==31122== by 0x53E886C: QQuickItem::~QQuickItem() (qquickitem.cpp:2223) ==31122== by 0x5402DED: ~QQuickRectangle (qquickrectangle_p.h:128) ==31122== by 0x5402DED: ~QQmlElement (qqmlprivate.h:98) ==31122== by 0x5402DED: QQmlPrivate::QQmlElement<QQuickRectangle>::~QQmlElement() (qqmlprivate.h:98) ==31122== by 0x622F66F: QObject::event(QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2) ==31122== by 0x53E66BA: QQuickItem::event(QEvent*) (qquickitem.cpp:7302) ==31122== by 0x61FDDE8: QCoreApplication::notify(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2) ==31122== by 0x61FDF1A: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.2) ==31122== Block was alloc'd at ==31122== at 0x4C2C12F: operator new(unsigned long) (vg_replace_malloc.c:333) ==31122== by 0x1C5BD113: GSettingsQml::componentComplete() (gsettings-qml.cpp:141) ==31122== by 0x5E25421: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2) ==31122== by 0x5DB22E9: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2) ==31122== by 0x5DB2B9E: QQmlEnginePrivate::incubate(QQmlIncubator&, QQmlContextData*) (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2) ==31122== by 0x5DAE4EB: QQmlComponent::create(QQmlIncubator&, QQmlContext*, QQmlContext*) (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2) ==31122== by 0x5498859: QQuickLoaderPrivate::_q_sourceLoaded() (qquickloader.cpp:713) ==31122== by 0x54989F7: QQuickLoaderPrivate::load() (qquickloader.cpp:596) ==31122== by 0x5E25421: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2) ==31122== by 0x5DADEAD: QQmlComponentPrivate::complete(QQmlEnginePrivate*, QQmlComponentPrivate::ConstructionState*) (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2) ==31122== by 0x5DADF76: QQmlComponentPrivate::completeCreate() (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2) ==31122== by 0x5DADDDF: QQmlComponent::create(QQmlContext*) (in /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5.4.2)
Which as far as i understand means that the QGSettingsPrivate::settingChanged is being called even if GSettingsQml has already been destroyed.
By disconnecting the signal handler I have not been able to reproduce the valgrind warning anymore Approved by: Lars Uebernickel
|
Albert Astals Cid |
|
8 years ago
|
|
|
77
|
|
|
CI Train Bot |
0.1+16.04.20151130-0ubuntu1 |
8 years ago
|
|
|
76
|
|
|
CI Train Bot |
|
8 years ago
|
|
|
75
|
|
|
CI Train Bot |
0.1+16.04.20151104-0ubuntu1 |
8 years ago
|
|
|
74
|
|
|
Lars Uebernickel |
|
8 years ago
|
|
|
73
|
|
|
CI Train Bot |
0.1+15.04.20150810-0ubuntu1 |
8 years ago
|
|
|
72
|
|
|
Lukáš Tinkl |
|
8 years ago
|
|
|
71
|
|
|
Gerry Boland |
|
8 years ago
|
|
|
70
|
|
|
Timo Jyrinki |
0.1+14.10.20140807-0ubuntu5 |
8 years ago
|
|
|
69
|
|
|
Timo Jyrinki |
0.1+14.10.20140807-0ubuntu4 |
9 years ago
|
|
|
68
|
|
|
Timo Jyrinki |
0.1+14.10.20140807-0ubuntu3 |
9 years ago
|
|
|
67
|
|
|
Timo Jyrinki |
0.1+14.10.20140807-0ubuntu2 |
9 years ago
|
|
|
66
|
|
|
CI bot |
0.1+14.10.20140807-0ubuntu1 |
9 years ago
|
|
|
65
|
|
|
Ken VanDine |
|
9 years ago
|
|
|
64
|
|
|
CI bot |
0.1+14.10.20140801.1-0ubuntu1 |
9 years ago
|
|
|
63
|
|
|
CI bot |
|
9 years ago
|
|
|
62
|
|
|
Ken VanDine |
|
9 years ago
|
|
|