https://bugs.kde.org/show_bug.cgi?id=356545
David Edmundson <k...@davidedmundson.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |CONFIRMED --- Comment #9 from David Edmundson <k...@davidedmundson.co.uk> --- Valgrind trace Seems we have some QML still alive and trying to access the view after it's been deleted. ==30841== at 0x81339CC: QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data() const (qscopedpointer.h:135) ==30841== by 0x8140BE8: QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::pointer qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > >(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > const&) (qglobal.h:983) ==30841== by 0x8141165: QObject::d_func() (qobject.h:110) ==30841== by 0x814133F: QObjectPrivate::get(QObject*) (qobject_p.h:192) ==30841== by 0x834EC8F: QQmlData::wasDeleted(QObject*) (qqmldata_p.h:240) ==30841== by 0x83474C2: QV4::QObjectWrapper::wrap(QV4::ExecutionEngine*, QObject*) (qv4qobjectwrapper.cpp:572) ==30841== by 0x829E07B: QV4::ExecutionEngine::fromVariant(QVariant const&) (qv4engine.cpp:1423) ==30841== by 0x842A50A: QV4::QmlContextWrapper::get(QV4::Managed*, QV4::String*, bool*) (qqmlcontextwrapper.cpp:232) ==30841== by 0x821DCD8: QV4::Object::get(QV4::String*, bool*) (qv4object_p.h:276) ==30841== by 0x82AEB5E: QV4::ExecutionContext::getProperty(QV4::String*) (qv4context.cpp:383) ==30841== by 0x8366D91: QV4::Runtime::getActivationProperty(QV4::ExecutionEngine*, int) (qv4runtime.cpp:693) ==30841== by 0x359D37CC: ??? ==30841== Address 0x3173d0a8 is 8 bytes inside a block of size 248 free'd ==30841== at 0x4C2A144: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==30841== by 0x481AB1: PanelView::~PanelView() (panelview.cpp:124) ==30841== by 0xBC6150A: qDeleteInEventHandler(QObject*) (qobject.cpp:4455) ==30841== by 0xBC58F37: QObject::event(QEvent*) (qobject.cpp:1230) ==30841== by 0xB35C32B: QWindow::event(QEvent*) (qwindow.cpp:2077) ==30841== by 0x7591EF8: QQuickWindow::event(QEvent*) (qquickwindow.cpp:1413) ==30841== by 0x485C3A: PanelView::event(QEvent*) (panelview.cpp:844) ==30841== by 0xA95D5F5: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3716) ==30841== by 0xA95AD54: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3160) ==30841== by 0xBC21055: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:965) ==30841== by 0xBC24D74: QCoreApplication::sendEvent(QObject*, QEvent*) (in /opt/qt5/lib/libQt5Core.so.5.5.1) ==30841== by 0xBC223D1: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1593) ==30841== Block was alloc'd at ==30841== at 0x4C29118: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==30841== by 0x49AB0A: ShellCorona::createWaitingPanels() (shellcorona.cpp:1016) ==30841== by 0x49F32C: ShellCorona::addPanel(QString const&) (shellcorona.cpp:1526) ==30841== by 0x49F03F: ShellCorona::addPanel(QAction*) (shellcorona.cpp:1488) ==30841== by 0x4A06FE: ShellCorona::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_shellcorona.cpp:295) ==30841== by 0xBC5F9CC: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3713) ==30841== by 0xBC5F1D7: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3578) ==30841== by 0xAB593D6: QMenu::triggered(QAction*) (moc_qmenu.cpp:273) ==30841== by 0xAB50EA4: QMenuPrivate::_q_actionTriggered() (qmenu.cpp:1232) ==30841== by 0xAB58DDF: QMenu::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_qmenu.cpp:122) ==30841== by 0xBC5F9CC: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3713) ==30841== by 0xBC5F1D7: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3578) ==30841== ==30841== Invalid read of size 1 ==30841== at 0x834EC9F: QQmlData::wasDeleted(QObject*) (qqmldata_p.h:241) ==30841== by 0x83474C2: QV4::QObjectWrapper::wrap(QV4::ExecutionEngine*, QObject*) (qv4qobjectwrapper.cpp:572) ==30841== by 0x829E07B: QV4::ExecutionEngine::fromVariant(QVariant const&) (qv4engine.cpp:1423) ==30841== by 0x842A50A: QV4::QmlContextWrapper::get(QV4::Managed*, QV4::String*, bool*) (qqmlcontextwrapper.cpp:232) ==30841== by 0x821DCD8: QV4::Object::get(QV4::String*, bool*) (qv4object_p.h:276) ==30841== by 0x82AEB5E: QV4::ExecutionContext::getProperty(QV4::String*) (qv4context.cpp:383) ==30841== by 0x8366D91: QV4::Runtime::getActivationProperty(QV4::ExecutionEngine*, int) (qv4runtime.cpp:693) ==30841== by 0x359D37CC: ??? ==30841== by 0x82E2EB2: QV4::SimpleScriptFunction::call(QV4::Managed*, QV4::CallData*) (qv4functionobject.cpp:564) ==30841== by 0x821DE13: QV4::Object::call(QV4::CallData*) (qv4object_p.h:302) ==30841== by 0x841DCA5: QQmlJavaScriptExpression::evaluate(QQmlContextData*, QV4::Value const&, QV4::CallData*, bool*) (qqmljavascriptexpression.cpp:158) ==30841== by 0x83B0B9F: QQmlBoundSignalExpression::evaluate(void**) (qqmlboundsignal.cpp:281) ==30841== Address 0x31363790 is 32 bytes inside a block of size 648 free'd ==30841== at 0x4C2A144: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==30841== by 0x758E059: QQuickWindowPrivate::~QQuickWindowPrivate() (qquickwindow.cpp:428) ==30841== by 0xBC651DF: QScopedPointerDeleter<QObjectData>::cleanup(QObjectData*) (qscopedpointer.h:54) ==30841== by 0xBC6379E: QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() (qscopedpointer.h:101) ==30841== by 0xBC58CAA: QObject::~QObject() (qobject.cpp:883) ==30841== by 0xB358A03: QWindow::~QWindow() (qwindow.cpp:202) ==30841== by 0x7591813: QQuickWindow::~QQuickWindow() (qquickwindow.cpp:1111) ==30841== by 0x5E0D17B: KQuickAddons::QuickViewSharedEngine::~QuickViewSharedEngine() (quickviewsharedengine.cpp:154) ==30841== by 0x5075918: PlasmaQuick::ContainmentView::~ContainmentView() (containmentview.cpp:225) ==30841== by 0x481A68: PanelView::~PanelView() (panelview.cpp:118) ==30841== by 0x481AA5: PanelView::~PanelView() (panelview.cpp:124) ==30841== by 0xBC6150A: qDeleteInEventHandler(QObject*) (qobject.cpp:4455) ==30841== Block was alloc'd at ==30841== at 0x4C29118: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==30841== by 0x7591420: QQuickWindow::QQuickWindow(QWindow*) (qquickwindow.cpp:1078) ==30841== by 0x5E0D0CB: KQuickAddons::QuickViewSharedEngine::QuickViewSharedEngine(QWindow*) (quickviewsharedengine.cpp:150) ==30841== by 0x507549F: PlasmaQuick::ContainmentView::ContainmentView(Plasma::Corona*, QWindow*) (containmentview.cpp:184) ==30841== by 0x48107F: PanelView::PanelView(ShellCorona*, QScreen*, QWindow*) (panelview.cpp:64) ==30841== by 0x49AB28: ShellCorona::createWaitingPanels() (shellcorona.cpp:1016) ==30841== by 0x49F32C: ShellCorona::addPanel(QString const&) (shellcorona.cpp:1526) ==30841== by 0x49F03F: ShellCorona::addPanel(QAction*) (shellcorona.cpp:1488) ==30841== by 0x4A06FE: ShellCorona::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (moc_shellcorona.cpp:295) ==30841== by 0xBC5F9CC: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3713) ==30841== by 0xBC5F1D7: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3578) ==30841== by 0xAB593D6: QMenu::triggered(QAction*) (moc_qmenu.cpp:273) ==30841== -- You are receiving this mail because: You are watching all bug changes.