Bug 459466

Summary: Plasma crashed due to something using DBus incorrectly after enabling splash screen and logging out and back in again
Product: [Plasma] plasmashell Reporter: Patrick Silva <bugseforuns>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: attila.bibok, kde, kdedev, nate
Priority: NOR    
Version: master   
Target Milestone: 1.0   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Patrick Silva 2022-09-21 01:22:26 UTC
I applied Breeze splash screen in Splash Screen KCM, logged out, logged in and got a black screen with mouse pointer due to plasmashell crash.

Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.26.80
KDE Frameworks Version: 5.99.0
Qt Version: 5.15.6
Graphics Platform: Wayland


Thread 3 (Thread 0x7fd8827f82c0 (LWP 3995)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fd8868d06f1 in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0, val=<optimized out>, op=0, addr=<optimized out>) at thread/qfutex_p.h:133
#2  QtLinuxFutex::futexWait<QBasicAtomicInteger<unsigned int> > (expectedValue=<optimized out>, futex=...) at thread/qfutex_p.h:135
#3  futexSemaphoreTryAcquire_loop<false> (timeout=-1, nn=8589934593, curValue=<optimized out>, u=...) at thread/qsemaphore.cpp:219
#4  futexSemaphoreTryAcquire<false> (timeout=-1, n=1, u=...) at thread/qsemaphore.cpp:262
#5  QSemaphore::acquire (this=this@entry=0x7fff6ddd0130, n=n@entry=1) at thread/qsemaphore.cpp:326
#6  0x00007fd886aec256 in doActivate<false> (sender=0x7fd87c00bb50, signal_index=7, argv=0x7fff6ddd01b0) at /usr/include/c++/9/bits/atomic_base.h:769
#7  0x00007fd886ae5587 in QMetaObject::activate (sender=sender@entry=0x7fd87c00bb50, m=m@entry=0x7fd8875fdaa0 <QDBusConnectionPrivate::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x7fff6ddd01b0) at kernel/qobject.cpp:3979
#8  0x00007fd8875e1cd7 in QDBusConnectionPrivate::signalNeedsConnecting (this=this@entry=0x7fd87c00bb50, _t1=..., _t2=...) at .moc/moc_qdbusconnection_p.cpp:357
#9  0x00007fd887584a92 in QDBusConnectionPrivate::connectRelay (this=0x7fd87c00bb50, service=..., path=..., interface=..., receiver=receiver@entry=0x563813e54820, signal=...) at qdbusintegrator.cpp:2469
#10 0x00007fd88759751e in QDBusAbstractInterface::connectNotify (this=0x563813e54820, signal=...) at qdbusabstractinterface.cpp:621
#11 0x00007fd886adff6a in QMetaObjectPrivate::connect (sender=0x563813e54820, signal_index=3, smeta=0x7fd8827f0bc0 <QIBusProxy::staticMetaObject>, receiver=<optimized out>, method_index=<optimized out>, rmeta=<optimized out>, type=<optimized out>, types=<optimized out>) at kernel/qobject_p.h:176
#12 0x00007fd886ae8fcf in QObject::connect (sender=<optimized out>, signal=<optimized out>, signal@entry=0x7fd8827e9047 "2GlobalEngineChanged(QString)", receiver=receiver@entry=0x563813e54b40, method=<optimized out>, method@entry=0x7fd8827e9029 "1globalEngineChanged(QString)", type=type@entry=Qt::AutoConnection) at kernel/qobject.cpp:2927
#13 0x00007fd8827d7e78 in QIBusPlatformInputContext::connectToContextSignals (this=this@entry=0x563813e54b40) at qibusplatforminputcontext.cpp:594
#14 0x00007fd8827dd4af in QIBusPlatformInputContext::QIBusPlatformInputContext (this=0x563813e54b40) at qibusplatforminputcontext.cpp:135
#15 0x00007fd8827e2b9e in QIbusPlatformInputContextPlugin::create (this=<optimized out>, system=..., paramList=...) at main.cpp:65
#16 QIbusPlatformInputContextPlugin::create (this=<optimized out>, system=..., paramList=...) at main.cpp:57
#17 0x00007fd886f26025 in qLoadPlugin<QPlatformInputContext, QPlatformInputContextPlugin, QStringList&> (key=..., loader=0x7fd8874c8340 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:519
#18 QPlatformInputContextFactory::create (key=...) at kernel/qplatforminputcontextfactory.cpp:79
#19 QPlatformInputContextFactory::create (key=...) at kernel/qplatforminputcontextfactory.cpp:71
#20 0x00007fd881cb4b54 in QXcbIntegration::initialize (this=0x563813db71f0) at qxcbintegration.cpp:353
#21 0x00007fd886f3a23d in QGuiApplicationPrivate::eventDispatcherReady (this=<optimized out>) at kernel/qguiapplication.cpp:1514
#22 0x00007fd886abb8f6 in QCoreApplicationPrivate::init (this=this@entry=0x563813da8e40) at /usr/include/c++/9/bits/atomic_base.h:390
#23 0x00007fd886f3d333 in QGuiApplicationPrivate::init (this=this@entry=0x563813da8e40) at kernel/qguiapplication.cpp:1530
#24 0x00007fd8877741bd in QApplicationPrivate::init (this=0x563813da8e40) at kernel/qapplication.cpp:513
#25 0x00005638123118be in main (argc=<optimized out>, argv=0x7fff6ddd0b88) at ./shell/main.cpp:69

Thread 2 (Thread 0x7fd8809fe700 (LWP 4020)):
#0  0x00007fd88653e99f in __GI___poll (fds=fds@entry=0x7fd8809fdae8, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fd888e40c1a in poll (__timeout=-1, __nfds=1, __fds=0x7fd8809fdae8) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0x563813dba6c0, cond=cond@entry=0x563813dba700, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:480
#3  0x00007fd888e4290a in xcb_wait_for_event (c=c@entry=0x563813dba6c0) at ../../src/xcb_in.c:697
#4  0x00007fd881cdbe18 in QXcbEventQueue::run (this=0x563813db7990) at qxcbeventqueue.cpp:228
#5  0x00007fd8868ce543 in QThreadPrivate::start (arg=0x563813db7990) at thread/qthread_unix.cpp:330
#6  0x00007fd887547609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fd88654b133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fd8811ff700 (LWP 4006)):
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007fd88644e859 in __GI_abort () at abort.c:79
#2  0x00007fd8857a7ed2 in _dbus_abort () at ../../../dbus/dbus-sysdeps.c:93
#3  0x00007fd8857ca570 in _dbus_warn_check_failed (format=format@entry=0x7fd8857dadc8 "arguments to %s() were incorrect, assertion \"%s\" failed in file %s line %d.\nThis is normally a bug in some application using the D-Bus library.\n") at ../../../dbus/dbus-internals.c:281
#4  0x00007fd8857cacde in _dbus_warn_return_if_fail (function=function@entry=0x7fd8857d9fd0 <__func__.4998> "dbus_pending_call_block", assertion=assertion@entry=0x7fd8857d9ed2 "pending != NULL", file=file@entry=0x7fd8857d9eb0 "../../../dbus/dbus-pending-call.c", line=line@entry=765) at ../../../dbus/dbus-internals.c:936
#5  0x00007fd8857c0ddf in dbus_pending_call_block (pending=<optimized out>) at ../../../dbus/dbus-pending-call.c:765
#6  0x00007fd88758f659 in q_dbus_pending_call_block (pending=<optimized out>) at qdbus_symbols_p.h:450
#7  QDBusConnectionPrivate::getNameOwnerNoCache (this=this@entry=0x7fd87c00bb50, serviceName=...) at qdbusintegrator.cpp:2569
#8  0x00007fd88758fc66 in QDBusConnectionPrivate::addSignalHook (this=0x7fd87c00bb50, key=..., hook=...) at qdbusintegrator.cpp:2304
#9  0x00007fd887591331 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QString const&, QDBusConnectionPrivate::SignalHook const&>, bool, bool (QDBusConnectionPrivate::*)(QString const&, QDBusConnectionPrivate::SignalHook const&)>::call (arg=0x7fff6ddd01b0, o=<optimized out>, f=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:184
#10 QtPrivate::FunctionPointer<bool (QDBusConnectionPrivate::*)(QString const&, QDBusConnectionPrivate::SignalHook const&)>::call<QtPrivate::List<QString const&, QDBusConnectionPrivate::SignalHook const&>, bool> (arg=0x7fff6ddd01b0, o=<optimized out>, f=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:185
#11 QtPrivate::QSlotObject<bool (QDBusConnectionPrivate::*)(QString const&, QDBusConnectionPrivate::SignalHook const&), QtPrivate::List<QString const&, QDBusConnectionPrivate::SignalHook const&>, bool>::impl (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=0x7fff6ddd01b0, ret=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:418
#12 0x00007fd886ae2d09 in QObject::event (this=0x7fd87c00bb50, e=0x563813e59100) at kernel/qobject.cpp:1347
#13 0x00007fd886ab500f in doNotify (event=0x563813e59100, receiver=0x7fd87c00bb50) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:153
#14 QCoreApplication::notify (event=<optimized out>, receiver=<optimized out>, this=<optimized out>) at kernel/qcoreapplication.cpp:1140
#15 QCoreApplication::notifyInternal2 (receiver=0x7fd87c00bb50, event=0x563813e59100) at kernel/qcoreapplication.cpp:1064
#16 0x00007fd886ab7941 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x563813dac160) at kernel/qcoreapplication.cpp:1821
#17 0x00007fd886b10527 in postEventSourceDispatch (s=0x7fd87c005110) at kernel/qeventdispatcher_glib.cpp:277
#18 0x00007fd884d4317d in g_main_dispatch (context=0x7fd87c001ce0) at ../../../glib/gmain.c:3309
#19 g_main_context_dispatch (context=context@entry=0x7fd87c001ce0) at ../../../glib/gmain.c:3974
#20 0x00007fd884d43400 in g_main_context_iterate (context=context@entry=0x7fd87c001ce0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4047
#21 0x00007fd884d434a3 in g_main_context_iteration (context=0x7fd87c001ce0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#22 0x00007fd886b0fb82 in QEventDispatcherGlib::processEvents (this=0x7fd87c000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#23 0x00007fd886ab3b3b in QEventLoop::exec (this=this@entry=0x7fd8811febb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#24 0x00007fd8868cd342 in QThread::exec (this=this@entry=0x7fd8875fed80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#25 0x00007fd88757af4b in QDBusConnectionManager::run (this=0x7fd8875fed80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#26 0x00007fd8868ce543 in QThreadPrivate::start (arg=0x7fd8875fed80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:330
#27 0x00007fd887547609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#28 0x00007fd88654b133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Comment 1 Nate Graham 2022-09-22 19:43:57 UTC
We are using DBus wrong somewhere:

#3  0x00007fd8857ca570 in _dbus_warn_check_failed (format=format@entry=0x7fd8857dadc8 "arguments to %s() were incorrect, assertion \"%s\" failed in file %s line %d.\nThis is normally a bug in some application using the D-Bus library.\n") at ../../../dbus/dbus-internals.c:281
#4  0x00007fd8857cacde in _dbus_warn_return_if_fail (function=function@entry=0x7fd8857d9fd0 <__func__.4998> "dbus_pending_call_block", assertion=assertion@entry=0x7fd8857d9ed2 "pending != NULL", file=file@entry=0x7fd8857d9eb0 "../../../dbus/dbus-pending-call.c", line=line@entry=765) at ../../../dbus/dbus-internals.c:936
Comment 2 David Edmundson 2024-05-29 07:22:14 UTC
*** Bug 487036 has been marked as a duplicate of this bug. ***
Comment 3 TraceyC 2024-11-25 18:49:34 UTC
Thank you for the bug report. Based on the backtrace it seems very similar to bug 435999. I'm marking this as a duplicate of that one. You can follow the progress of this issue in the other report.

*** This bug has been marked as a duplicate of bug 435999 ***