Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1468239 - discover crashes in setupFlatpakInstallations()
Summary: discover crashes in setupFlatpakInstallations()
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: plasma-discover
Version: 26
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedBlocker https://fedoraproject...
Depends On:
Blocks: F27FinalBlocker
TreeView+ depends on / blocked
 
Reported: 2017-07-06 12:33 UTC by Kamil Páral
Modified: 2017-12-31 20:16 UTC (History)
12 users (show)

Fixed In Version: plasma-discover-5.10.2-1.fc26
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-07-18 22:23:35 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Kamil Páral 2017-07-06 12:33:12 UTC
Description of problem:
Freshly installed F26 KDE Live, then tried to run Discover. It crashes every time. The crash does not show in abrt, but traceback shows in internal KDE reporter:

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

Thread 7 (Thread 0x7f6c0bca1700 (LWP 2866)):
#0  0x00007f6c3feb9aad in poll () from /lib64/libc.so.6
#1  0x00007f6c391d1569 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007f6c391d167c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007f6c40cd4d0b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#4  0x00007f6c40c84b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#5  0x00007f6c40ad9efa in QThread::exec() () from /lib64/libQt5Core.so.5
#6  0x00007f6c4437dff6 in QQuickPixmapReader::run() () from /lib64/libQt5Quick.so.5
#7  0x00007f6c40ade1ee in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#8  0x00007f6c3ea2836d in start_thread () from /lib64/libpthread.so.0
#9  0x00007f6c3fec5b9f in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7f6c0c6ab700 (LWP 2865)):
#0  0x00007f6c3ea2e81b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f6c1895ea3b in thread_function () from /usr/lib64/dri/swrast_dri.so
#2  0x00007f6c1895e8b7 in impl_thrd_routine () from /usr/lib64/dri/swrast_dri.so
#3  0x00007f6c3ea2836d in start_thread () from /lib64/libpthread.so.0
#4  0x00007f6c3fec5b9f in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f6c1b12d700 (LWP 2864)):
#0  0x00007f6c3ea2e81b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f6c1895ea3b in thread_function () from /usr/lib64/dri/swrast_dri.so
#2  0x00007f6c1895e8b7 in impl_thrd_routine () from /usr/lib64/dri/swrast_dri.so
#3  0x00007f6c3ea2836d in start_thread () from /lib64/libpthread.so.0
#4  0x00007f6c3fec5b9f in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f6c21788700 (LWP 2862)):
#0  0x00007f6c391ce51d in g_source_iter_next () from /lib64/libglib-2.0.so.0
#1  0x00007f6c391d09fb in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#2  0x00007f6c391d149b in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#3  0x00007f6c391d167c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#4  0x00007f6c40cd4d0b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#5  0x00007f6c40c84b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#6  0x00007f6c40ad9efa in QThread::exec() () from /lib64/libQt5Core.so.5
#7  0x00007f6c4158e9b5 in QQmlThreadPrivate::run() () from /lib64/libQt5Qml.so.5
#8  0x00007f6c40ade1ee in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#9  0x00007f6c3ea2836d in start_thread () from /lib64/libpthread.so.0
#10 0x00007f6c3fec5b9f in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f6c22999700 (LWP 2861)):
#0  0x00007f6c3feb9aad in poll () from /lib64/libc.so.6
#1  0x00007f6c391d1569 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#2  0x00007f6c391d167c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007f6c40cd4d0b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#4  0x00007f6c40c84b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#5  0x00007f6c40ad9efa in QThread::exec() () from /lib64/libQt5Core.so.5
#6  0x00007f6c44e40709 in QDBusConnectionManager::run() () from /lib64/libQt5DBus.so.5
#7  0x00007f6c40ade1ee in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#8  0x00007f6c3ea2836d in start_thread () from /lib64/libpthread.so.0
#9  0x00007f6c3fec5b9f in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f6c2b152700 (LWP 2860)):
#0  0x00007f6c3feb9aad in poll () from /lib64/libc.so.6
#1  0x00007f6c38acfc97 in _xcb_conn_wait () from /lib64/libxcb.so.1
#2  0x00007f6c38ad1a8a in xcb_wait_for_event () from /lib64/libxcb.so.1
#3  0x00007f6c2f819b99 in QXcbEventReader::run() () from /lib64/libQt5XcbQpa.so.5
#4  0x00007f6c40ade1ee in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#5  0x00007f6c3ea2836d in start_thread () from /lib64/libpthread.so.0
#6  0x00007f6c3fec5b9f in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f6c44cf28c0 (LWP 2859)):
[KCrash Handler]
#6  0x00007f6c075875fd in FlatpakBackend::setupFlatpakInstallations(_GError**) () from /usr/lib64/qt5/plugins/discover/flatpak-backend.so
#7  0x00007f6c0758da38 in FlatpakBackend::FlatpakBackend(QObject*) () from /usr/lib64/qt5/plugins/discover/flatpak-backend.so
#8  0x00007f6c075906bb in FlatpakBackendFactory::newInstance(QObject*, QString const&) const () from /usr/lib64/qt5/plugins/discover/flatpak-backend.so
#9  0x00007f6c44046427 in DiscoverBackendsFactory::backendForFile(QString const&, QString const&) const () from /usr/lib64/plasma-discover/libDiscoverCommon.so
#10 0x00007f6c44046abb in DiscoverBackendsFactory::backend(QString const&) const () from /usr/lib64/plasma-discover/libDiscoverCommon.so
#11 0x00007f6c44046f27 in DiscoverBackendsFactory::allBackends() const () from /usr/lib64/plasma-discover/libDiscoverCommon.so
#12 0x00007f6c44035a0a in ResourcesModel::registerAllBackends() () from /usr/lib64/plasma-discover/libDiscoverCommon.so
#13 0x00007f6c44056a15 in ResourcesModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib64/plasma-discover/libDiscoverCommon.so
#14 0x00007f6c40cae199 in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5
#15 0x00007f6c41cc4d9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#16 0x00007f6c41ccc3d4 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#17 0x00007f6c40c85b8b in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#18 0x00007f6c40c87d6b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQt5Core.so.5
#19 0x00007f6c40cd4c73 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#20 0x00007f6c391d1247 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#21 0x00007f6c391d15e8 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#22 0x00007f6c391d167c in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#23 0x00007f6c40cd4cef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#24 0x00007f6c40c84b8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#25 0x00007f6c40c8c7dc in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#26 0x000055585dc366c0 in main ()


Version-Release number of selected component (if applicable):
plasma-discover-5.10.1-1.fc26.x86_64

How reproducible:
always

Steps to Reproduce:
1. run Discover

Comment 1 Kamil Páral 2017-07-06 12:33:27 UTC
Seems to be a blocker:
"All applications that can be launched using the standard graphical mechanism of a release-blocking desktop after a default installation of that desktop must start successfully and withstand a basic functionality test. "
https://fedoraproject.org/wiki/Fedora_26_Final_Release_Criteria#Default_application_functionality

Comment 2 Rex Dieter 2017-07-06 14:41:41 UTC
Some likely duplicates, bug #1461670 and bug #1463419

From the latter, this warning may be relevant:

(process:4109): flatpak-WARNING **: Unable to create FlatpakInstallation for: mkdir(/var/lib/flatpak): Permission denied
KCrash: Application 'plasma-discover' crashing...

Comment 3 Rex Dieter 2017-07-06 14:59:45 UTC
I'll see about getting a plasma-discover-5.10.3 build to test, I see there's been over 200 commits in upstream 5.10 branch since 5.10.1 release.

Comment 4 Matthew Miller 2017-07-06 15:14:13 UTC
-1 to blocker for time-related reasons. Hopefully the fix Rex is looking at can be a zero day -- going to something with over 200 commits seems like too big of a risk for last-minute blocker.

Comment 5 Aleix Pol 2017-07-06 16:54:30 UTC
Hi,
Discover maintainer here.

I just pushed this, can you see if it makes it any better?
https://commits.kde.org/discover/e062f0e946489d8c10c656379b229de1c117e21b

Also a backtrace with symbols could be useful, as well as any errors that could be seen in stdout/stderr.

Comment 6 Adam Williamson 2017-07-06 20:56:43 UTC
Discussed at 2017-07-06 Fedora 26 Final Go/No-Go meeting, acting as a blocker review meeting: https://meetbot-raw.fedoraproject.org/fedora-meeting-2/2017-07-06/f26_final_gono-go_meeting.2017-07-06-17.00.html . We agreed that by rights, this is a clear criteria violation and ought to block F26 Final. However, we did note a few things:

* Fedora 26 is considerably behind its expected release cadence (in theory we still want to be on April / October or May / November)
* Both our major downstream (RH) and Fedora itself has strong reasons not to want F26 delayed further (for Fedora, F27 is going to be a major cycle with huge changes landing, and every delay to F26 is effectively time stolen from F27's cycle)
* This bug was discovered extremely late, when it could have been discovered and dealt with far earlier if the testing had been done
* Fedora's release approach is officially neither entirely determined by time ('release on the chosen date regardless of quality') or quality ('release when we reach a specific quality standard regardless of time'), but a hybrid of both, as stated at https://fedoraproject.org/wiki/Fedora_Release_Life_Cycle#Development_Schedule
* The app in question is not of vital importance at release time; it's likely to be rarely used in live sessions, and is not required to update the system. This means we can ship an update for it which should prevent it causing many real practical problems

Taking all these factors into consideration, as we have previously done once or twice for similar extremely-late-discovered bugs, we decided to make this a Fedora 27 blocker instead. We also agreed we will produce a formal policy for this kind of 'waive' going forward, to ensure we implement it consistently and it is not used excessively in future. We also agreed to make efforts to ensure KDE testing (particularly the 'run all the applications' test) will be done earlier in the cycle in future.

Comment 7 Luigi Toscano 2017-07-06 22:41:21 UTC
Apparently plasma-discover-5.10.2-1 does not crash; it was built on koji some time ago:
https://koji.fedoraproject.org/koji/buildinfo?buildID=908393

Only problem: it has a unversioned dependency on kf5-kirigami2, but it really depends on the version 2.1.0: 
https://koji.fedoraproject.org/koji/buildinfo?buildID=885203

Comment 8 Jan Grulich 2017-07-10 09:00:57 UTC
It's possible it is crashing because of missing flatpak as dependency because it was added later.

Comment 9 Jan Grulich 2017-07-11 11:19:04 UTC
Can someone else verify that installing flatpak makes thing suddenly work? I have one confirmation from this bugzilla https://bugs.kde.org/show_bug.cgi?id=382188. Flatpak should be automatically installed with plasma-discover-5.10.1-2 and newer, which means that fix for this issue is already in updates.

Comment 10 Christoph Erhardt 2017-07-13 09:19:20 UTC
(In reply to Jan Grulich from comment #9)
> Can someone else verify that installing flatpak makes thing suddenly work?
I can confirm this.

Comment 11 Fedora Update System 2017-07-14 19:27:31 UTC
plasma-discover-5.10.2-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-4adf59bd1c

Comment 12 Scott Wagstaff 2017-07-16 05:26:58 UTC
I installed flatpack, but did not resolve the problem.

Comment 13 Kevin Kofler 2017-07-16 10:57:55 UTC
"flatpack" with 'c' is some XML library, you need "flatpak" WITHOUT 'c'.

Comment 14 Scott Wagstaff 2017-07-16 10:59:45 UTC
Doh!
I'll try and let you know

Comment 15 Scott Wagstaff 2017-07-16 14:26:21 UTC
installing flatpak fixed it, thanks

Comment 16 Fedora Update System 2017-07-16 21:21:34 UTC
plasma-discover-5.10.2-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-4adf59bd1c

Comment 17 Fedora Update System 2017-07-18 22:23:35 UTC
plasma-discover-5.10.2-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 18 A. Folger 2017-12-31 20:16:51 UTC
I am running Fedora 27, which includes plasma-discover-5.11.4-1.fc27.x86_64, and the issue persists.


Note You need to log in before you can comment on or make changes to this bug.