Created attachment 160234 [details] WAYLAND_DEBUG=1 log output STEPS TO REPRODUCE 0. Use today's Plasma 6 git master 1. Open Kickoff 2. Start typing to search OBSERVED RESULT Plasmashell visibly restarts. journal log says this: Jul 11 08:27:09 Liberator systemd[1691]: plasma-plasmashell.service: Failed with result 'exit-code'. Jul 11 08:27:09 Liberator systemd[1691]: plasma-plasmashell.service: Main process exited, code=exited, status=1/FAILURE Jul 11 08:27:08 Liberator plasmashell[1938]: The Wayland connection experienced a fatal error: Socket operation on non-socket Jul 11 08:27:08 Liberator plasmashell[1938]: QSocketNotifier: Invalid socket 6 and type 'Read', disabling... Jul 11 08:27:08 Liberator plasmashell[1938]: KCrash: Application 'plasmashell' crashing... Jul 11 08:27:08 Liberator plasmashell[1938]: 31 -- bugaddress=submit@bugs.kde.org Jul 11 08:27:08 Liberator plasmashell[1938]: 13 -- programname= Jul 11 08:27:08 Liberator plasmashell[1938]: 19 -- appversion=5.27.80 Jul 11 08:27:08 Liberator plasmashell[1938]: 9 -- pid=1938 Jul 11 08:27:08 Liberator plasmashell[1938]: 10 -- signal=11 Jul 11 08:27:08 Liberator plasmashell[1938]: 32 -- apppath=/home/nate/kde/usr6/bin Jul 11 08:27:08 Liberator plasmashell[1938]: 20 -- appname=plasmashell Jul 11 08:27:08 Liberator plasmashell[1938]: 17 -- platform=wayland Jul 11 08:27:08 Liberator plasmashell[1938]: 40 -- exe=/home/nate/kde/usr6/bin/plasmashell But it's not crashing; coredumpctl doesn't see anything. WAYLAND_DEBUG=1 log attached EXPECTED RESULT Plasmashell doesn't restart when searching in Kickoff SOFTWARE/OS VERSIONS Operating System: Fedora Linux 38 KDE Plasma Version: 5.27.80 KDE Frameworks Version: 5.240.0 Qt Version: 6.5.1 Kernel Version: 6.3.11-200.fc38.x86_64 (64-bit) Graphics Platform: Wayland Processors: 8 × Intel® Core™ i7-10510U CPU @ 1.80GHz Memory: 15.2 GiB of RAM Graphics Processor: Mesa Intel® UHD Graphics ADDITIONAL INFORMATION KRunner does not crash or restart when searching.
*** Bug 472222 has been marked as a duplicate of this bug. ***
It does actually segfault for me: #0 QArrayDataPointer<char16_t>::ref() (this=0x10e0208) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/tools/qarraydatapointer.h:311 #1 QArrayDataPointer<char16_t>::QArrayDataPointer(QArrayDataPointer<char16_t> const&) (other=..., this=0x10e0208) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/tools/qarraydatapointer.h:35 #2 QString::QString(QString const&) (other=..., this=0x10e0208) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/text/qstring.h:1335 #3 QUrlPrivate::QUrlPrivate(QUrlPrivate const&) (copy=..., this=0x10e0200) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/io/qurl.cpp:589 #4 qAtomicDetach<QUrlPrivate>(QUrlPrivate*&) (d=@0x7fffffffcbc8: 0x7fff04006670) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/thread/qatomic.h:206 #5 QUrl::detach() (this=0x7fffffffcbc8) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/io/qurl.cpp:3291 #6 0x00007ffff456b610 in QUrl::adjusted(QUrlTwoFlags<QUrl::UrlFormattingOption, QUrl::ComponentFormattingOption>) const (this=this@entry=0x7fffffffcd08, options=options@entry=...) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/io/qurl.cpp:2950 #7 0x00007ffff777304e in KCoreDirListerCache::slotUpdateResult(KJob*) (this=0x7ffff7804880 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS_kDirListerCache> >::instance()::holder>, j=0x7fff0403be40) at /usr/include/qt6/QtCore/qurl.h:33 #8 0x00007ffff45cf797 in QObject::event(QEvent*) (this=0x7ffff7804880 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS_kDirListerCache> >::instance()::holder>, e=0x7fff04079c60) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/kernel/qobject.cpp:1391 #9 0x00007ffff5bc0b08 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7ffff7804880 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS_kDirListerCache> >::instance()::holder>, e=0x7fff04079c60) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/widgets/kernel/qapplication.cpp:3287 #10 0x00007ffff457c308 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7ffff7804880 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS_kDirListerCache> >::instance()::holder>, event=0x7fff04079c60) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/kernel/qcoreapplication.cpp:1115 #11 0x00007ffff457c50d in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/kernel/qcoreapplication.cpp:1533 #12 0x00007ffff457fd75 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x50c920) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/kernel/qcoreapplication.cpp:1895 #13 0x00007ffff45800ad in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=<optimized out>, event_type=<optimized out>) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/kernel/qcoreapplication.cpp:1754 #14 0x00007ffff48206df in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x555a20) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:243 #15 0x00007ffff37b048c in g_main_dispatch (context=0x7fffdc000f10) at ../glib/gmain.c:3460 #16 g_main_context_dispatch (context=0x7fffdc000f10) at ../glib/gmain.c:4200 #17 0x00007ffff380e638 in g_main_context_iterate.isra.0 (context=0x7fffdc000f10, block=1, dispatch=1, self=<optimized out>) at ../glib/gmain.c:4276 #18 0x00007ffff37adb13 in g_main_context_iteration (context=0x7fffdc000f10, may_block=1) at ../glib/gmain.c:4343 #19 0x00007ffff481ff7f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x511c00, flags=...) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:393 --Type <RET> for more, q to quit, c to continue without paging--c #20 0x00007ffff4588e93 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffd2a0, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/global/qflags.h:34 #21 0x00007ffff4584b3d in QCoreApplication::exec() () at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/corelib/global/qflags.h:74 #22 0x00007ffff4df85cd in QGuiApplication::exec() () at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/gui/kernel/qguiapplication.cpp:1894 #23 0x00007ffff5bc0a79 in QApplication::exec() () at /usr/src/debug/qt6-qtbase-6.5.1-1.fc38.x86_64/src/widgets/kernel/qapplication.cpp:2566 #24 0x0000000000424fc0 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/nico/kde6/src/plasma-workspace/shell/main.cpp:242
It doesn't happen after disabling the places runner
See https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3070
Git commit f68983958fd5d5ea0dc8a18760e3db64259904b6 by Alexander Lohnau. Committed on 15/07/2023 at 08:27. Pushed by alex into branch 'master'. runners/places: Fix crash when instantiating places model This class being moved to a new thread causes issues, because a job is not being moved to the same thread and is deleted when trying to access it. M +1 -1 runners/places/placesrunner.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/f68983958fd5d5ea0dc8a18760e3db64259904b6
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/3109
Git commit 817e08aaeab7fa23880422210b6476b1db0f8f23 by Alexander Lohnau. Committed on 05/08/2023 at 06:38. Pushed by alex into branch 'master'. runners/places: Create KFilePlaceModel in runner's thread With https://invent.kde.org/frameworks/kio/-/merge_requests/1357 this no longer causes a crash and the previous workaround could be removed. M +19 -21 runners/places/placesrunner.cpp M +2 -1 runners/places/placesrunner.h https://invent.kde.org/plasma/plasma-workspace/-/commit/817e08aaeab7fa23880422210b6476b1db0f8f23