Bug 413000 - In openSUSE Tumbleweed, navigating to updates page while backends are updating crashes Discover
Summary: In openSUSE Tumbleweed, navigating to updates page while backends are updatin...
Status: RESOLVED NOT A BUG
Alias: None
Product: Discover
Classification: Applications
Component: discover (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Dan Leinir Turthra Jensen
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-10-15 19:56 UTC by Nate Graham
Modified: 2019-10-28 18:31 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2019-10-15 19:56:30 UTC
openSUSE Tumbleweed with everything KDE built from source.


STEPS TO REPRODUCE
1. Open Discover
2. While the sidebar item for the updates page says, "Fetching updates...", click on it

OBSERVED RESULT
Discover reproducibly crashes with the following backtrace:

#0  0x00007ffff7e5a230 in QList<QString>::QList(QList<QString> const&)
    (this=this@entry=0x7fffffff49f0, l=...) at /usr/include/qt5/QtCore/qlist.h:825
#1  0x00007ffff7e599ba in QStringList::QStringList(QStringList const&)
    (this=0x7fffffff49f0) at /usr/include/qt5/QtCore/qstringlist.h:99
#2  0x00007ffff7e599ba in AddonList::addonsToInstall() const (this=<optimized out>)
    at /home/nate/kde/src/discover/libdiscover/Transaction/AddonList.cpp:34
#3  0x00007fffd80de799 in PackageKitBackend::installApplication(AbstractResource*, AddonList const&) () at /usr/lib64/qt5/plugins/discover/packagekit-backend.so
#4  0x00007ffff7e62bc0 in ResourcesModel::fetchingUpdatesProgress() const (this=0x5c2630)
    at /home/nate/kde/src/discover/libdiscover/resources/ResourcesModel.cpp:412
#5  0x00007ffff7e46e9b in ResourcesModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)
    (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /home/nate/kde/build/discover/libdiscover/DiscoverCommon_autogen/3YJK5W5UP7/moc_ResourcesModel.cpp:469
#6  0x00007ffff66a6a81 in  () at /usr/lib64/libQt5Qml.so.5
#7  0x00007ffff66a8824 in QV4::QObjectWrapper::virtualResolveLookupGetter(QV4::Object const*, QV4::ExecutionEngine*, QV4::Lookup*) () at /usr/lib64/libQt5Qml.so.5
#8  0x00007ffff66c6a86 in  () at /usr/lib64/libQt5Qml.so.5
#9  0x00007ffff66cba4f in  () at /usr/lib64/libQt5Qml.so.5
#10 0x00007ffff665962f in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () at /usr/lib64/libQt5Qml.so.5
#11 0x00007ffff67de6c7 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) ()
    at /usr/lib64/libQt5Qml.so.5
#12 0x00007ffff67e41df in QQmlBinding::evaluate(bool*) () at /usr/lib64/libQt5Qml.so.5
#13 0x00007ffff67e8bf6 in  () at /usr/lib64/libQt5Qml.so.5
#14 0x00007ffff67e5494 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) ()
    at /usr/lib64/libQt5Qml.so.5
#15 0x00007ffff79f5ebc in  () at /usr/lib64/libQt5Quick.so.5
#16 0x00007ffff79f5f39 in QQuickTransitionManager::complete() ()
    at /usr/lib64/libQt5Quick.so.5
#17 0x00007ffff79f7428 in QQuickTransitionManager::transition(QList<QQuickStateAction> const&, QQuickTransition*, QObject*) () at /usr/lib64/libQt5Quick.so.5
#18 0x00007ffff79f3e60 in QQuickState::apply(QQuickTransition*, QQuickState*) ()
    at /usr/lib64/libQt5Quick.so.5
#19 0x00007ffff79fe532 in  () at /usr/lib64/libQt5Quick.so.5
#20 0x00007ffff79ff4a7 in QQuickStateGroup::componentComplete() ()
    at /usr/lib64/libQt5Quick.so.5
#21 0x00007ffff7adc476 in QQuickItem::componentComplete() ()
    at /usr/lib64/libQt5Quick.so.5
#22 0x00007ffff0a37459 in QQuickControl::componentComplete() ()
    at /usr/lib64/libQt5QuickTemplates2.so.5
#23 0x00007ffff0a0ff9a in QQuickPane::componentComplete() ()
    at /usr/lib64/libQt5QuickTemplates2.so.5
#24 0x00007ffff0a148ea in QQuickPage::componentComplete() ()
    at /usr/lib64/libQt5QuickTemplates2.so.5
#25 0x00007ffff67f3e4c in QQmlObjectCreator::finalize(QQmlInstantiationInterrupt&) ()
    at /usr/lib64/libQt5Qml.so.5
#26 0x00007ffff6776701 in QQmlComponentPrivate::complete(QQmlEnginePrivate*, QQmlComponentPrivate::ConstructionState*) () at /usr/lib64/libQt5Qml.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#27 0x00007ffff6776812 in QQmlComponentPrivate::completeCreate() () at /usr/lib64/libQt5Qml.so.5
#28 0x00007ffff67777e0 in QQmlComponent::createObject(QQmlV4Function*) () at /usr/lib64/libQt5Qml.so.5
#29 0x00007ffff67797d3 in  () at /usr/lib64/libQt5Qml.so.5
#30 0x00007ffff6779c83 in QQmlComponent::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/libQt5Qml.so.5
#31 0x00007ffff67b663d in  () at /usr/lib64/libQt5Qml.so.5
#32 0x00007ffff66ad2d6 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () at /usr/lib64/libQt5Qml.so.5
#33 0x00007ffff66c9a76 in  () at /usr/lib64/libQt5Qml.so.5
#34 0x00007ffff66cba4f in  () at /usr/lib64/libQt5Qml.so.5
#35 0x00007ffff665a510 in  () at /usr/lib64/libQt5Qml.so.5
#36 0x00007ffff66c9a76 in  () at /usr/lib64/libQt5Qml.so.5
#37 0x00007ffff66cba4f in  () at /usr/lib64/libQt5Qml.so.5
#38 0x00007ffff665a510 in  () at /usr/lib64/libQt5Qml.so.5
#39 0x00007ffff673838a in QV4::Runtime::method_callQmlContextPropertyLookup(QV4::ExecutionEngine*, unsigned int, QV4::Value*, int) () at /usr/lib64/libQt5Qml.so.5
#40 0x00007ffff66c65bb in  () at /usr/lib64/libQt5Qml.so.5
#41 0x00007ffff66cba4f in  () at /usr/lib64/libQt5Qml.so.5
#42 0x00007ffff665a510 in  () at /usr/lib64/libQt5Qml.so.5
#43 0x00007ffff66c9a76 in  () at /usr/lib64/libQt5Qml.so.5
#44 0x00007ffff66cba4f in  () at /usr/lib64/libQt5Qml.so.5
#45 0x00007ffff665962f in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () at /usr/lib64/libQt5Qml.so.5
#46 0x00007ffff67de6c7 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) () at /usr/lib64/libQt5Qml.so.5
#47 0x00007ffff678008c in QQmlBoundSignalExpression::evaluate(void**) () at /usr/lib64/libQt5Qml.so.5
#48 0x00007ffff6781248 in  () at /usr/lib64/libQt5Qml.so.5
#49 0x00007ffff67c1efd in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /usr/lib64/libQt5Qml.so.5
#50 0x00007ffff6760bed in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () at /usr/lib64/libQt5Qml.so.5
#51 0x00007ffff59d9dcb in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#52 0x00007ffff675c88b in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib64/libQt5Qml.so.5
#53 0x00007ffff66ae10a in QV4::QObjectWrapper::setProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData*, QV4::Value const&) () at /usr/lib64/libQt5Qml.so.5
#54 0x00007ffff66aea5e in QV4::QObjectWrapper::setQmlProperty(QV4::ExecutionEngine*, QQmlContextData*, QObject*, QV4::String*, QV4::QObjectWrapper::RevisionMode, QV4::Value const&)
    () at /usr/lib64/libQt5Qml.so.5
#55 0x00007ffff66aebad in QV4::QObjectWrapper::virtualPut(QV4::Managed*, QV4::PropertyKey, QV4::Value const&, QV4::Value*) () at /usr/lib64/libQt5Qml.so.5
#56 0x00007ffff66723ac in QV4::Object::virtualResolveLookupSetter(QV4::Object*, QV4::ExecutionEngine*, QV4::Lookup*, QV4::Value const&) () at /usr/lib64/libQt5Qml.so.5
#57 0x00007ffff66c6b4c in  () at /usr/lib64/libQt5Qml.so.5
#58 0x00007ffff66cba4f in  () at /usr/lib64/libQt5Qml.so.5
#59 0x00007ffff665962f in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () at /usr/lib64/libQt5Qml.so.5
#60 0x00007ffff67de6c7 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) () at /usr/lib64/libQt5Qml.so.5
#61 0x00007ffff678008c in QQmlBoundSignalExpression::evaluate(void**) () at /usr/lib64/libQt5Qml.so.5
#62 0x00007ffff6781248 in  () at /usr/lib64/libQt5Qml.so.5
#63 0x00007ffff67c1efd in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /usr/lib64/libQt5Qml.so.5
#64 0x00007ffff6760bed in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () at /usr/lib64/libQt5Qml.so.5
#65 0x00007ffff59d9dcb in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#66 0x00007ffff0a428d2 in QQuickAction::triggered(QObject*) () at /usr/lib64/libQt5QuickTemplates2.so.5
#67 0x00007ffff0a44c72 in  () at /usr/lib64/libQt5QuickTemplates2.so.5
#68 0x00007ffff0a4b2f2 in  () at /usr/lib64/libQt5QuickTemplates2.so.5
#69 0x00007ffff0a4b623 in QQuickAction::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/libQt5QuickTemplates2.so.5
#70 0x00007ffff675c302 in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib64/libQt5Qml.so.5
#71 0x00007ffff675c2c4 in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib64/libQt5Qml.so.5
#72 0x00007ffff67b663d in  () at /usr/lib64/libQt5Qml.so.5
#73 0x00007ffff66aa12c in  () at /usr/lib64/libQt5Qml.so.5
#74 0x00007ffff66ac179 in  () at /usr/lib64/libQt5Qml.so.5
#75 0x00007ffff66ad181 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () at /usr/lib64/libQt5Qml.so.5
#76 0x00007ffff66c9a76 in  () at /usr/lib64/libQt5Qml.so.5
#77 0x00007ffff66cba4f in  () at /usr/lib64/libQt5Qml.so.5
#78 0x00007ffff665962f in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () at /usr/lib64/libQt5Qml.so.5
#79 0x00007ffff67de6c7 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) () at /usr/lib64/libQt5Qml.so.5
#80 0x00007ffff678008c in QQmlBoundSignalExpression::evaluate(void**) () at /usr/lib64/libQt5Qml.so.5
#81 0x00007ffff6781248 in  () at /usr/lib64/libQt5Qml.so.5
#82 0x00007ffff67c1efd in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /usr/lib64/libQt5Qml.so.5
#83 0x00007ffff6760bed in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () at /usr/lib64/libQt5Qml.so.5
#84 0x00007ffff59d9dcb in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#85 0x00007ffff0a47918 in QQuickAbstractButtonPrivate::handleRelease(QPointF const&) () at /usr/lib64/libQt5QuickTemplates2.so.5
#86 0x00007ffff0a2ce25 in QQuickControl::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libQt5QuickTemplates2.so.5
#87 0x00007ffff7ad8d18 in QQuickItem::event(QEvent*) () at /usr/lib64/libQt5Quick.so.5
#88 0x00007ffff6b28c62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#89 0x00007ffff6b321e0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#90 0x00007ffff59af572 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#91 0x00007ffff7af3ead in QQuickWindowPrivate::deliverMouseEvent(QQuickPointerMouseEvent*) () at /usr/lib64/libQt5Quick.so.5
#92 0x00007ffff7af55a7 in QQuickWindowPrivate::deliverPointerEvent(QQuickPointerEvent*) () at /usr/lib64/libQt5Quick.so.5
#93 0x00007ffff7af6345 in QQuickWindowPrivate::handleMouseEvent(QMouseEvent*) () at /usr/lib64/libQt5Quick.so.5
#94 0x00007ffff5dba96d in QWindow::event(QEvent*) () at /usr/lib64/libQt5Gui.so.5
#95 0x00007ffff7af7889 in QQuickWindow::event(QEvent*) () at /usr/lib64/libQt5Quick.so.5
#96 0x00007ffff6b28c62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#97 0x00007ffff6b321e0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#98 0x00007ffff59af572 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#99 0x00007ffff5dafa18 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib64/libQt5Gui.so.5
#100 0x00007ffff5db128b in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib64/libQt5Gui.so.5
#101 0x00007ffff5d8c25b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Gui.so.5
#102 0x00007ffff1727f4a in  () at /usr/lib64/libQt5XcbQpa.so.5
#103 0x00007ffff40786b3 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#104 0x00007ffff407a460 in  () at /usr/lib64/libglib-2.0.so.0
#105 0x00007ffff407a49f in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#106 0x00007ffff5a05981 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#107 0x00007ffff59ae0db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#108 0x00007ffff59b5d42 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#109 0x0000000000415cfa in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/nate/kde/src/discover/discover/main.cpp:168
Comment 1 Aleix Pol 2019-10-28 17:58:11 UTC
 This backtrace looks broken:
#2  0x00007ffff7e599ba in AddonList::addonsToInstall() const (this=<optimized out>)
    at /home/nate/kde/src/discover/libdiscover/Transaction/AddonList.cpp:34
#3  0x00007fffd80de799 in PackageKitBackend::installApplication(AbstractResource*, AddonList const&) () at /usr/lib64/qt5/plugins/discover/packagekit-backend.so
#4  0x00007ffff7e62bc0 in ResourcesModel::fetchingUpdatesProgress() const (this=0x5c2630)
    at /home/nate/kde/src/discover/libdiscover/resources/ResourcesModel.cpp:412

It seems like you're using packagekit-backend.so from the distro but a self-compiled discover executable.

Remember to define something like QT_PLUGIN_PATH=/home/apol/devel/kde5/lib/plugins
Comment 2 Aleix Pol 2019-10-28 17:58:46 UTC
resolving
Comment 3 Nate Graham 2019-10-28 18:31:01 UTC
Oops my bad, sorry. And yeah, I don't see this anymore. Looks like it was clocal config issue. Sorry to waste your time!