Bug 373885

Summary: Plasma Shell crashes on login in ShellCorona::screenForContainment() after screen configuration changes
Product: [Plasma] plasmashell Reporter: Abyss <abyss.7>
Component: generic-multiscreenAssignee: Aleix Pol <aleixpol>
Status: RESOLVED FIXED    
Severity: crash CC: ABeisemann, bhush94, cjwinty, constantine.karnacevych, kiran.sebastian, manuelk.sv, matejm98mthw, melvin.hausmann+bugs.kde, nate, notmart, notuxius, petrie.jay, plasma-bugs, rolandu, s1r51ckb01, zeno
Priority: VHI    
Version: 5.13.90   
Target Milestone: 1.0   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Abyss 2016-12-19 10:55:40 UTC
After login to KDE session I can see only black screen. When I run plasmashell manually (via 'kstart5 plasmashell') it loads successfully and shows in tray an icon of Crash Assistant, which says that previous plasmashell has crashed.

I use auto-login - don't know if it matters.

Also Crash Assistant says that backtrace is not informative.
Comment 1 Marco Martin 2016-12-19 12:26:00 UTC
if drkonqui is showing up, can a backtrace with debug symbols be produced?
Comment 2 Abyss 2017-01-02 12:51:27 UTC
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fddc03b54c0 (LWP 1842))]

Thread 7 (Thread 0x7fdd19372700 (LWP 2183)):
#0  0x00007fddce3e9faf in __libc_enable_asynccancel () at /lib64/libc.so.6
#1  0x00007fddce3d0012 in poll () at /lib64/libc.so.6
#2  0x00007fddc717f156 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7fdd140013c0, timeout=<optimized out>, context=0x7fdd14000990) at gmain.c:4228
#3  0x00007fddc717f156 in g_main_context_iterate (context=context@entry=0x7fdd14000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3924
#4  0x00007fddc717f26c in g_main_context_iteration (context=0x7fdd14000990, may_block=may_block@entry=1) at gmain.c:3990
#5  0x00007fddcf1d673b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fdd140008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007fddcf18773a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fdd19371c10, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#7  0x00007fddcefe45f3 in QThread::exec() (this=this@entry=0x5604f316c0d0) at thread/qthread.cpp:507
#8  0x00007fddd2bda8b6 in QQuickPixmapReader::run() (this=0x5604f316c0d0) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/quick/util/qquickpixmapcache.cpp:822
#9  0x00007fddcefe89da in QThreadPrivate::start(void*) (arg=0x5604f316c0d0) at thread/qthread_unix.cpp:368
#10 0x00007fddcd7266ca in start_thread () at /lib64/libpthread.so.0
#11 0x00007fddce3dbf7f in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7fdda35b5700 (LWP 2158)):
#0  0x00007fddcd72c460 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fddd4a732f4 in QTWTF::TCMalloc_PageHeap::scavengerThread() (this=0x7fddd4b5f380 <QTWTF::pageheap_memory>) at /usr/src/debug/qtscript-opensource-src-5.7.1/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007fddd4a73339 in QTWTF::TCMalloc_PageHeap::runScavengerThread(void*) (context=<optimized out>) at /usr/src/debug/qtscript-opensource-src-5.7.1/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007fddcd7266ca in start_thread () at /lib64/libpthread.so.0
#4  0x00007fddce3dbf7f in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7fddad1f5700 (LWP 2118)):
#0  0x00007fddcefe0d89 in std::__atomic_base<QMutexData*>::compare_exchange_strong(QMutexData*&, QMutexData*, std::memory_order, std::memory_order) (__m2=<optimized out>, __m1=std::memory_order_release, __p2=0x0, __p1=@0x7fddad1f4a08: 0x1, this=0x5604f2bb2050) at /usr/include/c++/6.2.1/bits/atomic_base.h:752
#1  0x00007fddcefe0d89 in std::atomic<QMutexData*>::compare_exchange_strong(QMutexData*&, QMutexData*, std::memory_order) (__m=std::memory_order_release, __p2=0x0, __p1=@0x7fddad1f4a08: 0x1, this=0x5604f2bb2050) at /usr/include/c++/6.2.1/atomic:475
#2  0x00007fddcefe0d89 in QAtomicOps<QMutexData*>::testAndSetRelease<QMutexData*>(std::atomic<QMutexData*>&, QMutexData*, QMutexData*, QMutexData**) (currentValue=<synthetic pointer>, newValue=0x0, expectedValue=0x1, _q_value=...) at ../../src/corelib/arch/qatomic_cxx11.h:299
#3  0x00007fddcefe0d89 in QBasicAtomicPointer<QMutexData>::testAndSetRelease(QMutexData*, QMutexData*, QMutexData*&) (currentValue=<synthetic pointer>: <optimized out>, newValue=0x0, expectedValue=<optimized out>, this=0x5604f2bb2050) at ../../src/corelib/thread/qbasicatomic.h:261
#4  0x00007fddcefe0d89 in QBasicMutex::fastTryUnlock(QMutexData*&) (current=<synthetic pointer>: <optimized out>, this=0x5604f2bb2050) at thread/qmutex.h:92
#5  0x00007fddcefe0d89 in QMutex::unlock() (this=this@entry=0x5604f2bb2050) at thread/qmutex.cpp:277
#6  0x00007fddcf1d6611 in QMutexLocker::unlock() (this=<synthetic pointer>) at ../../src/corelib/thread/qmutex.h:147
#7  0x00007fddcf1d6611 in QMutexLocker::~QMutexLocker() (this=<synthetic pointer>, __in_chrg=<optimized out>) at ../../src/corelib/thread/qmutex.h:141
#8  0x00007fddcf1d6611 in QThreadData::canWaitLocked() (this=0x5604f2bb2020) at ../../src/corelib/thread/qthread_p.h:253
#9  0x00007fddcf1d6611 in postEventSourcePrepare(GSource*, gint*) (s=0x7fdd9c0012d0, timeout=timeout@entry=0x7fddad1f4a94) at kernel/qeventdispatcher_glib.cpp:259
#10 0x00007fddc717e699 in g_main_context_prepare (context=context@entry=0x7fdd9c000990, priority=priority@entry=0x7fddad1f4b20) at gmain.c:3501
#11 0x00007fddc717f07b in g_main_context_iterate (context=context@entry=0x7fdd9c000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3909
#12 0x00007fddc717f26c in g_main_context_iteration (context=0x7fdd9c000990, may_block=may_block@entry=1) at gmain.c:3990
#13 0x00007fddcf1d673b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fdd9c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#14 0x00007fddcf18773a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fddad1f4c60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#15 0x00007fddcefe45f3 in QThread::exec() (this=this@entry=0x5604f2bbf250) at thread/qthread.cpp:507
#16 0x00007fddd22524e5 in QQmlThreadPrivate::run() (this=0x5604f2bbf250) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/qml/qml/ftw/qqmlthread.cpp:147
#17 0x00007fddcefe89da in QThreadPrivate::start(void*) (arg=0x5604f2bbf250) at thread/qthread_unix.cpp:368
#18 0x00007fddcd7266ca in start_thread () at /lib64/libpthread.so.0
#19 0x00007fddce3dbf7f in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7fddaedbb700 (LWP 2066)):
#0  0x00007fddce3cbbed in read () at /lib64/libc.so.6
#1  0x00007fddc71c3450 in read (__nbytes=16, __buf=0x7fddaedbaa40, __fd=<optimized out>) at /usr/include/bits/unistd.h:44
#2  0x00007fddc71c3450 in g_wakeup_acknowledge (wakeup=0x7fdda80025a0) at gwakeup.c:210
#3  0x00007fddc717ec60 in g_main_context_check (context=context@entry=0x7fdda4000990, max_priority=2147483647, fds=fds@entry=0x7fdda4002e70, n_fds=n_fds@entry=1) at gmain.c:3707
#4  0x00007fddc717f0f4 in g_main_context_iterate (context=context@entry=0x7fdda4000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3926
#5  0x00007fddc717f26c in g_main_context_iteration (context=0x7fdda4000990, may_block=may_block@entry=1) at gmain.c:3990
#6  0x00007fddcf1d673b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fdda40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#7  0x00007fddcf18773a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fddaedbac60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#8  0x00007fddcefe45f3 in QThread::exec() (this=this@entry=0x5604f2b46b20) at thread/qthread.cpp:507
#9  0x00007fddd22524e5 in QQmlThreadPrivate::run() (this=0x5604f2b46b20) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/qml/qml/ftw/qqmlthread.cpp:147
#10 0x00007fddcefe89da in QThreadPrivate::start(void*) (arg=0x5604f2b46b20) at thread/qthread_unix.cpp:368
#11 0x00007fddcd7266ca in start_thread () at /lib64/libpthread.so.0
#12 0x00007fddce3dbf7f in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7fddb48e1700 (LWP 1980)):
#0  0x00007fddc71c4814 in g_mutex_unlock (mutex=0x7fdda8000990) at gthread-posix.c:1348
#1  0x00007fddc717ed1b in g_main_context_dispatch (context=context@entry=0x7fdda8000990) at gmain.c:3861
#2  0x00007fddc717f1c0 in g_main_context_iterate (context=context@entry=0x7fdda8000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3929
#3  0x00007fddc717f26c in g_main_context_iteration (context=0x7fdda8000990, may_block=may_block@entry=1) at gmain.c:3990
#4  0x00007fddcf1d673b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fdda80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007fddcf18773a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fddb48e0c40, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007fddcefe45f3 in QThread::exec() (this=this@entry=0x7fddcf8fa060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:507
#7  0x00007fddcf884739 in QDBusConnectionManager::run() (this=0x7fddcf8fa060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#8  0x00007fddcefe89da in QThreadPrivate::start(void*) (arg=0x7fddcf8fa060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:368
#9  0x00007fddcd7266ca in start_thread () at /lib64/libpthread.so.0
#10 0x00007fddce3dbf7f in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7fddb5ed0700 (LWP 1902)):
#0  0x00007fddce3d001d in poll () at /lib64/libc.so.6
#1  0x00007fddd3396d10 in poll (__timeout=-1, __nfds=1, __fds=0x7fddb5ecfb80) at /usr/include/bits/poll2.h:46
#2  0x00007fddd3396d10 in _xcb_conn_wait (c=c@entry=0x5604f2a66420, cond=cond@entry=0x5604f2a66460, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:479
#3  0x00007fddd3398aa9 in xcb_wait_for_event (c=0x5604f2a66420) at xcb_in.c:693
#4  0x00007fddb9724d69 in QXcbEventReader::run() (this=0x5604f2a70af0) at qxcbconnection.cpp:1343
#5  0x00007fddcefe89da in QThreadPrivate::start(void*) (arg=0x5604f2a70af0) at thread/qthread_unix.cpp:368
#6  0x00007fddcd7266ca in start_thread () at /lib64/libpthread.so.0
#7  0x00007fddce3dbf7f in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7fddc03b54c0 (LWP 1842)):
[KCrash Handler]
#6  0x00007fddd4baf4ad in std::__atomic_base<int>::load(std::memory_order) const (__m=std::memory_order_relaxed, this=0x50f9358d48f1894c) at /usr/include/c++/6.2.1/bits/atomic_base.h:396
#7  0x00007fddd4baf4ad in QAtomicOps<int>::load<int>(std::atomic<int> const&) (_q_value=...) at /usr/include/qt5/QtCore/qatomic_cxx11.h:103
#8  0x00007fddd4baf4ad in QBasicAtomicInteger<int>::load() const (this=0x50f9358d48f1894c) at /usr/include/qt5/QtCore/qbasicatomic.h:99
#9  0x00007fddd4baf4ad in QWeakPointer<QObject>::data() const (this=0x7fdda20cc550 <debug_print_entry>) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:604
#10 0x00007fddd4baf4ad in QPointer<Plasma::Containment>::data() const (this=0x7fdda20cc550 <debug_print_entry>) at /usr/include/qt5/QtCore/qpointer.h:86
#11 0x00007fddd4baf4ad in QPointer<Plasma::Containment>::operator Plasma::Containment*() const (this=0x7fdda20cc550 <debug_print_entry>) at /usr/include/qt5/QtCore/qpointer.h:92
#12 0x00007fddd4baf4ad in PlasmaQuick::ContainmentView::containment() const (this=0x5604f2f40ae0) at /usr/src/debug/plasma-framework-5.27.0/src/plasmaquick/containmentview.cpp:263
#13 0x00005604f0c5ce18 in ShellCorona::screenForContainment(Plasma::Containment const*) const (this=0x5604f2a73790, containment=<optimized out>) at /usr/src/debug/plasma-workspace-5.8.4/shell/shellcorona.cpp:1826
#14 0x00007fddad20db75 in ContainmentInterface::adjustToAvailableScreenRegion(int, int, int, int) const (this=0x5604f2d45500, x=0, y=32, w=36, h=36) at /usr/src/debug/plasma-framework-5.27.0/src/scriptengines/qml/plasmoid/containmentinterface.cpp:339
#15 0x00007fddad21706e in ContainmentInterface::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=_o@entry=0x5604f2d45500, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=23, _a=_a@entry=0x7ffceb63f360) at /usr/src/debug/plasma-framework-5.27.0/x86_64-redhat-linux-gnu/src/scriptengines/qml/moc_containmentinterface.cpp:234
#16 0x00007fddad2176e8 in ContainmentInterface::qt_metacall(QMetaObject::Call, int, void**) (this=0x5604f2d45500, _c=QMetaObject::InvokeMetaMethod, _id=23, _a=0x7ffceb63f360) at /usr/src/debug/plasma-framework-5.27.0/x86_64-redhat-linux-gnu/src/scriptengines/qml/moc_containmentinterface.cpp:425
#17 0x00007fddd220b2a9 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const (this=0x7ffceb63f700, type=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/qml/qml/qqmlpropertycache.cpp:1547
#18 0x00007fddd2199e74 in CallMethod(QQmlObjectOrGadget const&, int, int, int, int*, QV4::ExecutionEngine*, QV4::CallData*) (object=..., index=<optimized out>, returnType=<optimized out>, argCount=<optimized out>, argTypes=<optimized out>, engine=<optimized out>, callArgs=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/qml/jsruntime/qv4qobjectwrapper.cpp:1137
#19 0x00007fddd219af48 in CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*) (object=..., data=..., engine=engine@entry=0x5604f2b9ff50, callArgs=callArgs@entry=0x7fddac1f64f0) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/qml/jsruntime/qv4qobjectwrapper.cpp:1388
#20 0x00007fddd219b7e5 in QV4::QObjectMethod::callInternal(QV4::CallData*) const (this=<optimized out>, callData=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/qml/jsruntime/qv4qobjectwrapper.cpp:1871
#21 0x00007fddd21b0f41 in QV4::Object::call(QV4::CallData*) const (d=0x7fddac1f64f0, this=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/qml/jsruntime/qv4object_p.h:332
#22 0x00007fddd21b0f41 in QV4::Runtime::callProperty(QV4::ExecutionEngine*, int, QV4::CallData*) (engine=0x5604f2b9ff50, nameIndex=<optimized out>, callData=0x7fddac1f64f0) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/qml/jsruntime/qv4runtime.cpp:1030
#23 0x00007fdda29a56c3 in  ()
#24 0x00007ffceb63f920 in  ()
#25 0x00007fddac1f6480 in  ()
#26 0x00007fdd9c075c78 in  ()
#27 0x00005604f3052870 in  ()
#28 0x00005604f30cfd60 in  ()
#29 0x00007fddd2197b13 in LoadProperty<ReadAccessor::Direct>(QV4::ExecutionEngine*, QObject*, QQmlPropertyData const&, QQmlNotifier**) (v4=0x7ffceb63f940, object=0x5604f2b9ff50, property=..., notifier=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/qml/jsruntime/qv4qobjectwrapper.cpp:177
#30 0x7b2892d3e2dc1f00 in  ()
#31 0x00007fddac1f6478 in  ()
#32 0x00005604f2b9ff50 in  ()
#33 0x00007fddac1f6480 in  ()
#34 0x00007fddac1f6478 in  ()
#35 0x00007fddac1f6440 in  ()
#36 0x00007fddac1f6438 in  ()
#37 0x00007fddac1f6318 in  ()
#38 0x00007fddd21b0f41 in QV4::Object::call(QV4::CallData*) const (d=0x0, this=<optimized out>) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/qml/jsruntime/qv4object_p.h:332
#39 0x00007fddd21b0f41 in QV4::Runtime::callProperty(QV4::ExecutionEngine*, int, QV4::CallData*) (engine=0x7fdd9c15be50, nameIndex=<optimized out>, callData=0x0) at /usr/src/debug/qtdeclarative-opensource-src-5.7.1/src/qml/jsruntime/qv4runtime.cpp:1030
#40 0x00007fdda29af7da in  ()
#41 0x0000000000000000 in  ()
Comment 3 Marco Martin 2017-01-03 16:25:18 UTC
*** Bug 374479 has been marked as a duplicate of this bug. ***
Comment 4 Christoph Feck 2017-01-11 00:40:09 UTC
*** Bug 374759 has been marked as a duplicate of this bug. ***
Comment 5 Marco Martin 2017-01-23 12:38:42 UTC
*** Bug 375439 has been marked as a duplicate of this bug. ***
Comment 6 Kai Uwe Broulik 2017-02-01 15:41:46 UTC
*** Bug 375439 has been marked as a duplicate of this bug. ***
Comment 7 Christoph Feck 2017-02-09 12:27:44 UTC
*** Bug 376011 has been marked as a duplicate of this bug. ***
Comment 8 Christoph Feck 2017-02-09 12:28:25 UTC
*** Bug 376019 has been marked as a duplicate of this bug. ***
Comment 9 Marco Martin 2017-12-20 13:42:05 UTC
*** Bug 387667 has been marked as a duplicate of this bug. ***
Comment 10 Marco Martin 2020-05-21 11:27:57 UTC
*** Bug 405384 has been marked as a duplicate of this bug. ***
Comment 11 Marco Martin 2020-05-21 11:28:09 UTC
*** Bug 421611 has been marked as a duplicate of this bug. ***
Comment 12 Nate Graham 2021-03-08 22:02:12 UTC
*** Bug 421895 has been marked as a duplicate of this bug. ***
Comment 13 Nate Graham 2021-03-08 22:02:17 UTC
*** Bug 375750 has been marked as a duplicate of this bug. ***
Comment 14 Nate Graham 2021-03-08 22:02:21 UTC
*** Bug 431726 has been marked as a duplicate of this bug. ***
Comment 15 Nate Graham 2021-03-08 22:02:38 UTC
Raising priority due to number of duplicates.
Comment 16 Nate Graham 2022-02-08 05:04:34 UTC
All duplicates are from Plasma 5.18 or earlier, so I think it is highly likely that this is fixed now.
Comment 17 Melvin 2022-02-19 05:38:32 UTC
I can confirm that on my system (Ubuntu 20.04.4 LTS) with plasma-desktop 4:5.18.8-0ubuntu0.1 the behavior does no longer occur.