Summary: | Discover reproducibly crashes in QQuickItem::isVisible() when you attempt to search while on an Application page | ||
---|---|---|---|
Product: | [Applications] Discover | Reporter: | Nate Graham <nate> |
Component: | discover | Assignee: | Aleix Pol <aleixpol> |
Status: | RESOLVED DUPLICATE | ||
Severity: | crash | Keywords: | drkonqi |
Priority: | NOR | ||
Version: | 5.11.95 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
URL: | https://bugreports.qt.io/browse/QTBUG-65881 | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Nate Graham
2018-01-18 15:51:11 UTC
FWIW, I cannot reproduce with your steps. ==5652== Invalid read of size 8 ==5652== at 0x5794710: QQuickItem::isVisible() const (qquickitem.cpp:5806) ==5652== by 0x5794B78: QQuickKeysAttached::keyPressed(QKeyEvent*, bool) (qquickitem.cpp:1383) ==5652== by 0x57944FE: QQuickItemPrivate::filterKeyEvent(QKeyEvent*, bool) (qquickitem.cpp:5042) ==5652== by 0x57A0984: QQuickItemPrivate::deliverKeyEvent(QKeyEvent*) (qquickitem.cpp:5054) ==5652== by 0x57A0CD4: QQuickItem::event(QEvent*) (qquickitem.cpp:7838) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x57AC047: sendEvent (qcoreapplication.h:234) ==5652== by 0x57AC047: QQuickWindowPrivate::deliverKeyEvent(QKeyEvent*) (qquickwindow.cpp:1653) ==5652== by 0x57B056E: QQuickWindow::keyPressEvent(QKeyEvent*) (qquickwindow.cpp:1636) ==5652== by 0x83ACCB4: QWindow::event(QEvent*) (qwindow.cpp:2328) ==5652== by 0x57BA9F4: QQuickWindow::event(QEvent*) (qquickwindow.cpp:1627) ==5652== Address 0x1c77e818 is 8 bytes inside a block of size 168 free'd ==5652== at 0x4C2E60B: operator delete(void*) (vg_replace_malloc.c:576) ==5652== by 0x93B92AF: QObject::event(QEvent*) (qobject.cpp:1237) ==5652== by 0x57A0DFA: QQuickItem::event(QEvent*) (qquickitem.cpp:7886) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x938B97C: sendEvent (qcoreapplication.h:234) ==5652== by 0x938B97C: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1717) ==5652== by 0x93E4322: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:276) ==5652== by 0x10A36E67: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== by 0x10A370B0: ??? (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== by 0x10A3713D: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== by 0x93E394E: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:423) ==5652== Block was alloc'd at ==5652== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334) ==5652== by 0x8ACCFF1: QQmlType::create(QObject**, void**, unsigned long) const (qqmlmetatype.cpp:914) ==5652== by 0x8B41C05: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1071) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8AB94F4: QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&) (qqmlincubator.cpp:298) ==5652== by 0x8AB9E7B: QQmlEnginePrivate::incubate(QQmlIncubator&, QQmlContextData*) (qqmlincubator.cpp:89) ==5652== ==5652== Invalid read of size 1 ==5652== at 0x5794714: QQuickItem::isVisible() const (qquickitem.cpp:5806) ==5652== by 0x5794B78: QQuickKeysAttached::keyPressed(QKeyEvent*, bool) (qquickitem.cpp:1383) ==5652== by 0x57944FE: QQuickItemPrivate::filterKeyEvent(QKeyEvent*, bool) (qquickitem.cpp:5042) ==5652== by 0x57A0984: QQuickItemPrivate::deliverKeyEvent(QKeyEvent*) (qquickitem.cpp:5054) ==5652== by 0x57A0CD4: QQuickItem::event(QEvent*) (qquickitem.cpp:7838) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x57AC047: sendEvent (qcoreapplication.h:234) ==5652== by 0x57AC047: QQuickWindowPrivate::deliverKeyEvent(QKeyEvent*) (qquickwindow.cpp:1653) ==5652== by 0x57B056E: QQuickWindow::keyPressEvent(QKeyEvent*) (qquickwindow.cpp:1636) ==5652== by 0x83ACCB4: QWindow::event(QEvent*) (qwindow.cpp:2328) ==5652== by 0x57BA9F4: QQuickWindow::event(QEvent*) (qquickwindow.cpp:1627) ==5652== Address 0x24a4fa42 is 146 bytes inside a block of size 576 free'd ==5652== at 0x4C2E60B: operator delete(void*) (vg_replace_malloc.c:576) ==5652== by 0x93BFE32: cleanup (qscopedpointer.h:60) ==5652== by 0x93BFE32: ~QScopedPointer (qscopedpointer.h:107) ==5652== by 0x93BFE32: QObject::~QObject() (qobject.cpp:881) ==5652== by 0x57A2C74: QQuickItem::~QQuickItem() (qquickitem.cpp:2370) ==5652== by 0x20475ADC: ~QQuickItemDelegate (qquickitemdelegate_p.h:57) ==5652== by 0x20475ADC: ~QQmlElement (qqmlprivate.h:104) ==5652== by 0x20475ADC: QQmlPrivate::QQmlElement<QQuickItemDelegate>::~QQmlElement() (qqmlprivate.h:104) ==5652== by 0x93B92AF: QObject::event(QEvent*) (qobject.cpp:1237) ==5652== by 0x57A0DFA: QQuickItem::event(QEvent*) (qquickitem.cpp:7886) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x938B97C: sendEvent (qcoreapplication.h:234) ==5652== by 0x938B97C: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1717) ==5652== by 0x93E4322: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:276) ==5652== by 0x10A36E67: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== Block was alloc'd at ==5652== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334) ==5652== by 0x1835C283: QQuickItemDelegate::QQuickItemDelegate(QQuickItem*) (qquickitemdelegate.cpp:73) ==5652== by 0x20478F4A: QQmlElement (qqmlprivate.h:99) ==5652== by 0x20478F4A: void QQmlPrivate::createInto<QQuickItemDelegate>(void*) (qqmlprivate.h:108) ==5652== by 0x8ACD001: QQmlType::create(QObject**, void**, unsigned long) const (qqmlmetatype.cpp:915) ==5652== by 0x8B41C05: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1071) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== ==5652== Invalid read of size 8 ==5652== at 0x9388D48: data (qscopedpointer.h:140) ==5652== by 0x9388D48: qGetPtrHelper<QScopedPointer<QObjectData> > (qglobal.h:1013) ==5652== by 0x9388D48: d_func (qobject.h:120) ==5652== by 0x9388D48: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1037) ==5652== by 0x5794B94: sendEvent (qcoreapplication.h:234) ==5652== by 0x5794B94: QQuickKeysAttached::keyPressed(QKeyEvent*, bool) (qquickitem.cpp:1385) ==5652== by 0x57944FE: QQuickItemPrivate::filterKeyEvent(QKeyEvent*, bool) (qquickitem.cpp:5042) ==5652== by 0x57A0984: QQuickItemPrivate::deliverKeyEvent(QKeyEvent*) (qquickitem.cpp:5054) ==5652== by 0x57A0CD4: QQuickItem::event(QEvent*) (qquickitem.cpp:7838) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x57AC047: sendEvent (qcoreapplication.h:234) ==5652== by 0x57AC047: QQuickWindowPrivate::deliverKeyEvent(QKeyEvent*) (qquickwindow.cpp:1653) ==5652== by 0x57B056E: QQuickWindow::keyPressEvent(QKeyEvent*) (qquickwindow.cpp:1636) ==5652== by 0x83ACCB4: QWindow::event(QEvent*) (qwindow.cpp:2328) ==5652== by 0x57BA9F4: QQuickWindow::event(QEvent*) (qquickwindow.cpp:1627) ==5652== Address 0x1c77e818 is 8 bytes inside a block of size 168 free'd ==5652== at 0x4C2E60B: operator delete(void*) (vg_replace_malloc.c:576) ==5652== by 0x93B92AF: QObject::event(QEvent*) (qobject.cpp:1237) ==5652== by 0x57A0DFA: QQuickItem::event(QEvent*) (qquickitem.cpp:7886) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x938B97C: sendEvent (qcoreapplication.h:234) ==5652== by 0x938B97C: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1717) ==5652== by 0x93E4322: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:276) ==5652== by 0x10A36E67: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== by 0x10A370B0: ??? (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== by 0x10A3713D: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== by 0x93E394E: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:423) ==5652== Block was alloc'd at ==5652== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334) ==5652== by 0x8ACCFF1: QQmlType::create(QObject**, void**, unsigned long) const (qqmlmetatype.cpp:914) ==5652== by 0x8B41C05: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1071) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8AB94F4: QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&) (qqmlincubator.cpp:298) ==5652== by 0x8AB9E7B: QQmlEnginePrivate::incubate(QQmlIncubator&, QQmlContextData*) (qqmlincubator.cpp:89) ==5652== ==5652== Invalid read of size 8 ==5652== at 0x9388D4C: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1038) ==5652== by 0x5794B94: sendEvent (qcoreapplication.h:234) ==5652== by 0x5794B94: QQuickKeysAttached::keyPressed(QKeyEvent*, bool) (qquickitem.cpp:1385) ==5652== by 0x57944FE: QQuickItemPrivate::filterKeyEvent(QKeyEvent*, bool) (qquickitem.cpp:5042) ==5652== by 0x57A0984: QQuickItemPrivate::deliverKeyEvent(QKeyEvent*) (qquickitem.cpp:5054) ==5652== by 0x57A0CD4: QQuickItem::event(QEvent*) (qquickitem.cpp:7838) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x57AC047: sendEvent (qcoreapplication.h:234) ==5652== by 0x57AC047: QQuickWindowPrivate::deliverKeyEvent(QKeyEvent*) (qquickwindow.cpp:1653) ==5652== by 0x57B056E: QQuickWindow::keyPressEvent(QKeyEvent*) (qquickwindow.cpp:1636) ==5652== by 0x83ACCB4: QWindow::event(QEvent*) (qwindow.cpp:2328) ==5652== by 0x57BA9F4: QQuickWindow::event(QEvent*) (qquickwindow.cpp:1627) ==5652== Address 0x24a4f9e8 is 56 bytes inside a block of size 576 free'd ==5652== at 0x4C2E60B: operator delete(void*) (vg_replace_malloc.c:576) ==5652== by 0x93BFE32: cleanup (qscopedpointer.h:60) ==5652== by 0x93BFE32: ~QScopedPointer (qscopedpointer.h:107) ==5652== by 0x93BFE32: QObject::~QObject() (qobject.cpp:881) ==5652== by 0x57A2C74: QQuickItem::~QQuickItem() (qquickitem.cpp:2370) ==5652== by 0x20475ADC: ~QQuickItemDelegate (qquickitemdelegate_p.h:57) ==5652== by 0x20475ADC: ~QQmlElement (qqmlprivate.h:104) ==5652== by 0x20475ADC: QQmlPrivate::QQmlElement<QQuickItemDelegate>::~QQmlElement() (qqmlprivate.h:104) ==5652== by 0x93B92AF: QObject::event(QEvent*) (qobject.cpp:1237) ==5652== by 0x57A0DFA: QQuickItem::event(QEvent*) (qquickitem.cpp:7886) ==5652== by 0x7D9ABAB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:3732) ==5652== by 0x7DA2333: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3491) ==5652== by 0x9388DE7: QCoreApplication::notifyInternal2(QObject*, QEvent*) (qcoreapplication.cpp:1042) ==5652== by 0x938B97C: sendEvent (qcoreapplication.h:234) ==5652== by 0x938B97C: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.cpp:1717) ==5652== by 0x93E4322: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (qeventdispatcher_glib.cpp:276) ==5652== by 0x10A36E67: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.5400.3) ==5652== Block was alloc'd at ==5652== at 0x4C2D54F: operator new(unsigned long) (vg_replace_malloc.c:334) ==5652== by 0x1835C283: QQuickItemDelegate::QQuickItemDelegate(QQuickItem*) (qquickitemdelegate.cpp:73) ==5652== by 0x20478F4A: QQmlElement (qqmlprivate.h:99) ==5652== by 0x20478F4A: void QQmlPrivate::createInto<QQuickItemDelegate>(void*) (qqmlprivate.h:108) ==5652== by 0x8ACD001: QQmlType::create(QObject**, void**, unsigned long) const (qqmlmetatype.cpp:915) ==5652== by 0x8B41C05: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1071) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) ==5652== by 0x8B422F2: QQmlObjectCreator::createInstance(int, QObject*, bool) (qqmlobjectcreator.cpp:1110) ==5652== by 0x8B4305B: QQmlObjectCreator::create(int, QObject*, QQmlInstantiationInterrupt*) (qqmlobjectcreator.cpp:202) Darn, now I can't reproduce it, either. I was able to three times in a row before, though... Been investigating further. Problem is that the delegate is being sent keyboard events still after being destroyed. This is the same issue as this: https://bugs.kde.org/show_bug.cgi?id=381814 Just crashing in different places. Easiest way to reproduce for me is: - compact mode - ctrl+f (search mode) - search something - go down - search something else * Boom Should we close this as RESOLVED UPSTREAM, or can/should we work around it here, too? *** This bug has been marked as a duplicate of bug 378339 *** |