Bug 356832 - Plasma crashed when I try to use settings for Activities
Summary: Plasma crashed when I try to use settings for Activities
Status: RESOLVED FIXED
Alias: None
Product: kactivitymanagerd
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Mageia RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Ivan Čukić
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-12-17 13:56 UTC by Piotr Mierzwinski
Modified: 2015-12-26 21:09 UTC (History)
3 users (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 Piotr Mierzwinski 2015-12-17 13:56:26 UTC
Application: plasmashell (5.5.1)

Qt Version: 5.5.1
Operating System: Linux 4.3.2-desktop-2.mga6 x86_64
Distribution: "Mageia 6"

-- Information about the crash:
- What I was doing when the application crashed:

1. Right Mouse Button on desktop
2. Select Activities
3. In left edge I have only one scaled empty desktop. When I move mouse pointer over it then I can see on bottom of it yellow/green bar
4. click settings icon localized on above bar
Plasma crashed

Plasma ver.5.1.1

The crash can be reproduced every time.

-- Backtrace:
Application: Plazma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f715a49f800 (LWP 8980))]

Thread 9 (Thread 0x7f7145d00700 (LWP 8983)):
#0  0x00007f7154bdbdbd in poll () at /lib64/libc.so.6
#1  0x00007f7158c64ac2 in _xcb_conn_wait () at /lib64/libxcb.so.1
#2  0x00007f7158c66697 in xcb_wait_for_event () at /lib64/libxcb.so.1
#3  0x00007f7147e27cc9 in QXcbEventReader::run() () at /lib64/libQt5XcbQpa.so.5
#4  0x00007f71552c601f in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007f71543d865d in start_thread () at /lib64/libpthread.so.0
#6  0x00007f7154be7bfd in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7f713f3ea700 (LWP 8991)):
#0  0x00007f7151e43d03 in g_main_context_query () at /lib64/libglib-2.0.so.0
#1  0x00007f7151e443af in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f7151e4453c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f71554e992b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f715549380a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f71552c11bc in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f7157b4dcd5 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#7  0x00007f71552c601f in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f71543d865d in start_thread () at /lib64/libpthread.so.0
#9  0x00007f7154be7bfd in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f7136b84700 (LWP 8998)):
#0  0x00007f7151e87a99 in g_mutex_lock () at /lib64/libglib-2.0.so.0
#1  0x00007f7151e435e4 in g_main_context_release () at /lib64/libglib-2.0.so.0
#2  0x00007f7151e443ee in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#3  0x00007f7151e4453c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#4  0x00007f71554e992b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f715549380a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f71552c11bc in QThread::exec() () at /lib64/libQt5Core.so.5
#7  0x00007f7157b4dcd5 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#8  0x00007f71552c601f in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#9  0x00007f71543d865d in start_thread () at /lib64/libpthread.so.0
#10 0x00007f7154be7bfd in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f7135426700 (LWP 8999)):
#0  0x00007f7154bd76dd in read () at /lib64/libc.so.6
#1  0x00007f7151e867d0 in g_wakeup_acknowledge () at /lib64/libglib-2.0.so.0
#2  0x00007f7151e43f64 in g_main_context_check () at /lib64/libglib-2.0.so.0
#3  0x00007f7151e443d8 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#4  0x00007f7151e4453c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#5  0x00007f71554e992b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f715549380a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#7  0x00007f71552c11bc in QThread::exec() () at /lib64/libQt5Core.so.5
#8  0x00007f7157b4dcd5 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#9  0x00007f71552c601f in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#10 0x00007f71543d865d in start_thread () at /lib64/libpthread.so.0
#11 0x00007f7154be7bfd in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f712f3a7700 (LWP 9000)):
#0  0x00007f71543ddc3f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f7159ee0fd4 in QTWTF::TCMalloc_PageHeap::scavengerThread() () at /lib64/libQt5Script.so.5
#2  0x00007f7159ee1019 in  () at /lib64/libQt5Script.so.5
#3  0x00007f71543d865d in start_thread () at /lib64/libpthread.so.0
#4  0x00007f7154be7bfd in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f712c833700 (LWP 9001)):
#0  0x00007f7154bd76dd in read () at /lib64/libc.so.6
#1  0x00007f7151e867d0 in g_wakeup_acknowledge () at /lib64/libglib-2.0.so.0
#2  0x00007f7151e43f64 in g_main_context_check () at /lib64/libglib-2.0.so.0
#3  0x00007f7151e443d8 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#4  0x00007f7151e4453c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#5  0x00007f71554e992b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f715549380a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#7  0x00007f71552c11bc in QThread::exec() () at /lib64/libQt5Core.so.5
#8  0x00007f71584cd132 in QQuickPixmapReader::run() () at /lib64/libQt5Quick.so.5
#9  0x00007f71552c601f in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#10 0x00007f71543d865d in start_thread () at /lib64/libpthread.so.0
#11 0x00007f7154be7bfd in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f7094545700 (LWP 9069)):
#0  0x00007f7151e87a99 in g_mutex_lock () at /lib64/libglib-2.0.so.0
#1  0x00007f7151e43a69 in g_main_context_prepare () at /lib64/libglib-2.0.so.0
#2  0x00007f7151e44363 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#3  0x00007f7151e4453c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#4  0x00007f71554e992b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f715549380a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#6  0x00007f71552c11bc in QThread::exec() () at /lib64/libQt5Core.so.5
#7  0x00007f7157b4dcd5 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#8  0x00007f71552c601f in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#9  0x00007f71543d865d in start_thread () at /lib64/libpthread.so.0
#10 0x00007f7154be7bfd in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f7092d07700 (LWP 9070)):
#0  0x00007f7154bdbdbd in poll () at /lib64/libc.so.6
#1  0x00007f7151e44434 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f7151e4453c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f71554e992b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f715549380a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f71552c11bc in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f7157b4dcd5 in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#7  0x00007f71552c601f in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007f71543d865d in start_thread () at /lib64/libpthread.so.0
#9  0x00007f7154be7bfd in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f715a49f800 (LWP 8980)):
[KCrash Handler]
#6  0x00007f71554cb327 in QObject::setProperty(char const*, QVariant const&) () at /lib64/libQt5Core.so.5
#7  0x00007f70938e4458 in Dialog::setActivityName(QString const&) () at /usr/lib64/qt5/qml/org/kde/activities/settings/libkactivitiessettingsplugin.so
#8  0x00007f70938e510b in Dialog::initUi(QString const&) () at /usr/lib64/qt5/qml/org/kde/activities/settings/libkactivitiessettingsplugin.so
#9  0x00007f70938e6934 in Dialog::Dialog(QString const&, QObject*) () at /usr/lib64/qt5/qml/org/kde/activities/settings/libkactivitiessettingsplugin.so
#10 0x00007f70938e3ea3 in ActivitySettings::configureActivity(QString const&) () at /usr/lib64/qt5/qml/org/kde/activities/settings/libkactivitiessettingsplugin.so
#11 0x00007f70938e9763 in ActivitySettings::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/qt5/qml/org/kde/activities/settings/libkactivitiessettingsplugin.so
#12 0x00007f7157b0de19 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const () at /lib64/libQt5Qml.so.5
#13 0x00007f7157a902bc in CallMethod(QQmlObjectOrGadget const&, int, int, int, int*, QV4::ExecutionEngine*, QV4::CallData*) [clone .constprop.155] () at /lib64/libQt5Qml.so.5
#14 0x00007f7157a91b1c in CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*) [clone .constprop.153] () at /lib64/libQt5Qml.so.5
#15 0x00007f7157a9232d in QV4::QObjectMethod::callInternal(QV4::CallData*) () at /lib64/libQt5Qml.so.5
#16 0x00007f7157aa8766 in QV4::Runtime::callProperty(QV4::ExecutionEngine*, int, QV4::CallData*) () at /lib64/libQt5Qml.so.5
#17 0x00007f70938dbbe8 in  ()
#18 0x0000000000000001 in  ()
#19 0x000000000149f020 in  ()
#20 0x0003000000000000 in  ()
#21 0x00007f7157a94e1a in QV4::QObjectWrapper::getQmlProperty(QQmlContextData*, QV4::String*, QV4::QObjectWrapper::RevisionMode, bool*, bool) () at /lib64/libQt5Qml.so.5
#22 0x0000000000000000 in  ()

Reported using DrKonqi
Comment 1 David Edmundson 2015-12-24 00:59:16 UTC
Ivan, you'll have this crash if the QML fails to load.

Given how you construct your file path and given how distros like to meddle, that's quite a plausible candidate.
Comment 2 Ivan Čukić 2015-12-26 21:08:42 UTC
Git commit eeb2e500d6b75b818b0d9570d517323f93598f65 by Ivan Čukić.
Committed on 26/12/2015 at 21:06.
Pushed by ivan into branch 'master'.

Streamlined the QML loading for KCM

- QML path mangling no uses the same variable as CMakeLists
- If the setup is broken, the user will get a nice message
- Fixed crash on non-existent root object

M  +2    -3    src/workspace/settings/ActivitiesTab.cpp
M  +11   -1    src/workspace/settings/CMakeLists.txt
M  +4    -3    src/workspace/settings/PrivacyTab.cpp
M  +3    -1    src/workspace/settings/imports/CMakeLists.txt
M  +37   -10   src/workspace/settings/imports/dialog.cpp
A  +6    -0    src/workspace/settings/kactivities-kcm-features.h.cmake
M  +16   -0    src/workspace/settings/utils.h

http://commits.kde.org/kactivities/eeb2e500d6b75b818b0d9570d517323f93598f65
Comment 3 Ivan Čukić 2015-12-26 21:09:08 UTC
If David was right, the commit above should fix the issue.