Bug 380146 - Discover crashes on start
Summary: Discover crashes on start
Status: RESOLVED DOWNSTREAM
Alias: None
Product: Discover
Classification: Applications
Component: discover (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Aleix Pol
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2017-05-24 08:02 UTC by Mustafa Muhammad
Modified: 2017-07-01 17:47 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mustafa Muhammad 2017-05-24 08:02:59 UTC
Application: plasma-discover (5.10.90)

Qt Version: 5.9.0
Frameworks Version: 5.35.0
Operating System: Linux 4.11.1-1-default x86_64
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed:
Just started the latest Discover from openSUSE KDE git repos

The crash can be reproduced every time.

-- Backtrace:
Application: Discover (plasma-discover), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f307cbe28c0 (LWP 1952))]

Thread 10 (Thread 0x7f30397c0700 (LWP 1980)):
#0  0x00007f30780447bd in poll () at /lib64/libc.so.6
#1  0x00007f3072cdfaa6 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f3072cdfbbc in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f3078c6547b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f3078c1110a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f3078a4eb3b in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f3078a533ca in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#7  0x00007f3074bf5537 in start_thread () at /lib64/libpthread.so.0
#8  0x00007f307804e04f in clone () at /lib64/libc.so.6

Thread 9 (Thread 0x7f303a5ed700 (LWP 1961)):
#0  0x00007f30780447bd in poll () at /lib64/libc.so.6
#1  0x00007f3072cdfaa6 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f3072cdfe32 in g_main_loop_run () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f303bd36ef6 in  () at /usr/lib64/libgio-2.0.so.0
#4  0x00007f3072d07385 in  () at /usr/lib64/libglib-2.0.so.0
#5  0x00007f3074bf5537 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f307804e04f in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7f303adee700 (LWP 1960)):
#0  0x00007f30780447bd in poll () at /lib64/libc.so.6
#1  0x00007f3072cdfaa6 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f3072cdfbbc in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f3072cdfc01 in  () at /usr/lib64/libglib-2.0.so.0
#4  0x00007f3072d07385 in  () at /usr/lib64/libglib-2.0.so.0
#5  0x00007f3074bf5537 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f307804e04f in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f304a4a9700 (LWP 1958)):
#0  0x00007f3074bfb9a6 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f3078a541fb in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f3078a4d733 in QSemaphore::acquire(int) () at /usr/lib64/libQt5Core.so.5
#3  0x00007f3078c3daf2 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f3076d317a8 in QHttpThreadDelegate::encryptedSlot() () at /usr/lib64/libQt5Network.so.5
#5  0x00007f3076dd05cd in QHttpThreadDelegate::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib64/libQt5Network.so.5
#6  0x00007f3078c3d887 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#7  0x00007f3076cf3c5d in QHttpNetworkConnectionChannel::_q_encrypted() () at /usr/lib64/libQt5Network.so.5
#8  0x00007f3076cf441d in QHttpNetworkConnectionChannel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib64/libQt5Network.so.5
#9  0x00007f3078c3d887 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#10 0x00007f3076dc59c7 in QSslSocketBackendPrivate::continueHandshake() () at /usr/lib64/libQt5Network.so.5
#11 0x00007f3076dc99f3 in QSslSocketBackendPrivate::startHandshake() () at /usr/lib64/libQt5Network.so.5
#12 0x00007f3076dca3ce in QSslSocketBackendPrivate::transmit() () at /usr/lib64/libQt5Network.so.5
#13 0x00007f3076db57e1 in QSslSocket::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib64/libQt5Network.so.5
#14 0x00007f3078c3d887 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#15 0x00007f3076d85373 in QAbstractSocketPrivate::emitReadyRead(int) () at /usr/lib64/libQt5Network.so.5
#16 0x00007f3076d8542c in QAbstractSocketPrivate::canReadNotification() () at /usr/lib64/libQt5Network.so.5
#17 0x00007f3076d96b31 in QReadNotifier::event(QEvent*) () at /usr/lib64/libQt5Network.so.5
#18 0x00007f307a1e3fdc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#19 0x00007f307a1eb2e1 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#20 0x00007f3078c12968 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#21 0x00007f3078c658ed in socketNotifierSourceDispatch(_GSource*, int (*)(void*), void*) () at /usr/lib64/libQt5Core.so.5
#22 0x00007f3072cdf8a7 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#23 0x00007f3072cdfb10 in  () at /usr/lib64/libglib-2.0.so.0
#24 0x00007f3072cdfbbc in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#25 0x00007f3078c6545f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#26 0x00007f3078c1110a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#27 0x00007f3078a4eb3b in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#28 0x00007f3078a533ca in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#29 0x00007f3074bf5537 in start_thread () at /lib64/libpthread.so.0
#30 0x00007f307804e04f in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f304b335700 (LWP 1957)):
#0  0x00007f30780447bd in poll () at /lib64/libc.so.6
#1  0x00007f3072cdfaa6 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f3072cdfbbc in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f3078c6547b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f3078c1110a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f3078a4eb3b in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f3078a533ca in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#7  0x00007f3074bf5537 in start_thread () at /lib64/libpthread.so.0
#8  0x00007f307804e04f in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f3051030700 (LWP 1956)):
#0  0x00007f3072cde967 in g_main_context_acquire () at /usr/lib64/libglib-2.0.so.0
#1  0x00007f3072cdf955 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f3072cdfbbc in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f3078c6547b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f3078c1110a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f3078a4eb3b in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f307bea1472 in QQuickPixmapReader::run() () at /usr/lib64/libQt5Quick.so.5
#7  0x00007f3078a533ca in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#8  0x00007f3074bf5537 in start_thread () at /lib64/libpthread.so.0
#9  0x00007f307804e04f in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f305bfff700 (LWP 1955)):
#0  0x00007f3072cdfa5a in  () at /usr/lib64/libglib-2.0.so.0
#1  0x00007f3072cdfbbc in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f3078c6547b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#3  0x00007f3078c1110a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f3078a4eb3b in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#5  0x00007f3079620ca5 in QQmlThreadPrivate::run() () at /usr/lib64/libQt5Qml.so.5
#6  0x00007f3078a533ca in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#7  0x00007f3074bf5537 in start_thread () at /lib64/libpthread.so.0
#8  0x00007f307804e04f in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f30616f2700 (LWP 1954)):
#0  0x00007f3072d252d4 in g_mutex_unlock () at /usr/lib64/libglib-2.0.so.0
#1  0x00007f3072cdf2c9 in g_main_context_query () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f3072cdfa18 in  () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f3072cdfbbc in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#4  0x00007f3078c6547b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f3078c1110a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#6  0x00007f3078a4eb3b in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#7  0x00007f307ad8e4f5 in QDBusConnectionManager::run() () at /usr/lib64/libQt5DBus.so.5
#8  0x00007f3078a533ca in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#9  0x00007f3074bf5537 in start_thread () at /lib64/libpthread.so.0
#10 0x00007f307804e04f in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f306a04d700 (LWP 1953)):
#0  0x00007f30780447bd in poll () at /lib64/libc.so.6
#1  0x00007f3072a753e0 in  () at /usr/lib64/libxcb.so.1
#2  0x00007f3072a77179 in xcb_wait_for_event () at /usr/lib64/libxcb.so.1
#3  0x00007f306cdfc389 in QXcbEventReader::run() () at /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007f3078a533ca in QThreadPrivate::start(void*) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f3074bf5537 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f307804e04f in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f307cbe28c0 (LWP 1952)):
[KCrash Handler]
#6  0x00000000027625d0 in  ()
#7  0x000000000041a3e2 in filterDupes (resources=...) at /usr/src/debug/discover-5.10.90git~20170523T172427~e9294a6/discover/FeaturedModel.cpp:91
#8  0x000000000041a3e2 in FeaturedModel::setResources(QVector<AbstractResource*> const&) (this=<optimized out>, _resources=...) at /usr/src/debug/discover-5.10.90git~20170523T172427~e9294a6/discover/FeaturedModel.cpp:110
#9  0x00007f3078c3dbeb in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#10 0x00007f307bb55c82 in StoredResultsStream::finishedResources(QVector<AbstractResource*> const&) (this=<optimized out>, _t1=...) at /usr/src/debug/discover-5.10.90git~20170523T172427~e9294a6/build/libdiscover/DiscoverCommon_automoc.dir/moc_StoredResultsS_FJHRV747FT2M6O.cpp:142
#11 0x00007f3078c3dbeb in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#12 0x00007f307bb35336 in AggregatedResultsStream::destruction(QObject*) (this=0x28a0230, obj=<optimized out>) at /usr/src/debug/discover-5.10.90git~20170523T172427~e9294a6/libdiscover/resources/ResourcesModel.cpp:291
#13 0x00007f3078c3dbeb in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#14 0x00007f3078c3e21f in QObject::destroyed(QObject*) () at /usr/lib64/libQt5Core.so.5
#15 0x00007f3078c44f35 in QObject::~QObject() () at /usr/lib64/libQt5Core.so.5
#16 0x00007f307bb42959 in ResultsStream::~ResultsStream() (this=0x28abd20, __in_chrg=<optimized out>) at /usr/src/debug/discover-5.10.90git~20170523T172427~e9294a6/libdiscover/resources/AbstractResourcesBackend.cpp:64
#17 0x00007f3078c3e838 in QObject::event(QEvent*) () at /usr/lib64/libQt5Core.so.5
#18 0x00007f307a1e3fdc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#19 0x00007f307a1eb2e1 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#20 0x00007f3078c12968 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#21 0x00007f3078c152fd in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt5Core.so.5
#22 0x00007f3078c65053 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /usr/lib64/libQt5Core.so.5
#23 0x00007f3072cdf8a7 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#24 0x00007f3072cdfb10 in  () at /usr/lib64/libglib-2.0.so.0
#25 0x00007f3072cdfbbc in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#26 0x00007f3078c6545f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#27 0x00007f3078c1110a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#28 0x00007f3078c195e4 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#29 0x000000000040df4a in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/discover-5.10.90git~20170523T172427~e9294a6/discover/main.cpp:151

Reported using DrKonqi
Comment 1 Aleix Pol 2017-05-24 10:41:22 UTC
Interesting. Would you be able to provide a backtrace with debug symbols? That would make it much easier to find where the issue is.
Comment 2 Mustafa Muhammad 2017-05-25 07:13:24 UTC
(In reply to Aleix Pol from comment #1)
> Interesting. Would you be able to provide a backtrace with debug symbols?
> That would make it much easier to find where the issue is.

I think I already did, I installed debug symbols, and reloaded the backtrace, which is here in the bug.
Comment 3 Christoph Feck 2017-06-06 19:31:14 UTC
The missing symbol at line #6 is the cause for the crash; calling virtual function appstreamId() for an invalid (maybe already deleted) AbstractResource object.
Comment 4 Aleix Pol 2017-06-15 23:52:17 UTC
Good catch Christoph!

Mustapha, can you tell me which backends you have installed? You can check with: plasma-discover --listbackends

Also could you execute plasma-discover on the console and tell me what output you get? Maybe we'll find some clues there.
Comment 5 Mustafa Muhammad 2017-06-22 07:39:25 UTC
Sorry for the late response
mustafa@mustafa-pc:~> plasma-discover --listbackends
Available backends:
 * kns-backend
 * packagekit-backend


mustafa@mustafa-pc:~> plasma-discover 
QQmlApplicationEngine failed to load component
qrc:/qml/DiscoverWindow.qml:9 Type Kirigami.ApplicationWindow unavailable
file:///usr/lib64/qt5/qml/org/kde/kirigami.2/styles/org.kde.desktop/ApplicationWindow.qml:25 Type Base.ApplicationWindow unavailable
file:///usr/lib64/qt5/qml/org/kde/kirigami.2/ApplicationWindow.qml:97 Type AbstractApplicationWindow unavailable
file:///usr/lib64/qt5/qml/org/kde/kirigami.2/AbstractApplicationWindow.qml:21 plugin cannot be loaded for module "QtQuick.Controls": Cannot load library /usr/lib64/qt5/qml/QtQuick/Controls.2/libqtquickcontrols2plugin.so: (/usr/lib64/libQt5QuickControls2.so.5: symbol _ZNK14QPlatformTheme22standardButtonShortcutEi, version Qt_5.9.0_PRIVATE_API not defined in file libQt5Gui.so.5 with link time reference)

Errors when loading the GUI
invalid kns backend! "/etc/xdg/servicemenu.knsrc" because: "Config group not found! Check your KNS3 installation."
invalid kns backend! "/etc/xdg/ksysguard.knsrc" because: "Config group not found! Check your KNS3 installation."
Discarding invalid backend "servicemenu.knsrc"
Discarding invalid backend "ksysguard.knsrc"
setting currentApplicationBackend PackageKitBackend(0x55c7b6668720)
Comment 6 Aleix Pol 2017-06-23 18:38:33 UTC
This looks like a packaging issue. Please report to opensuse.
Comment 7 Luca Beltrame 2017-06-26 13:24:26 UTC
Reporter: please update to the latest state of the repository, and test again. There was a change in the packages that inadvertently broke ABI in Qt. If the issue persists, file a bug on bugzilla.opensuse.org.
Comment 8 Mustafa Muhammad 2017-07-01 17:47:41 UTC
Sorry for the delay, I was away from this machine, it is working fine now, thanks.