Intro

I have been running Fedora Linux with KDE as my chosen desktop environment on my personal computer for a while now. It has been a pretty smooth process. However, there has been one intermittent issue that has been bothering me.

The Issue

Sometimes after logging into my laptop. This error would pop up and the taskbar would momentarily disappear.

Image

However, it would auto-resolve pretty quickly. So I never paid much attention to it. I have some time now, and I want to do a deeper investigation…

Read the Damn Error

This is the best way to start troubleshooting. The main error title “plasmashell has closed unexpectedly” is obvious and not very helpful. Clicking into see developer information I get a stack that does not mean much to me. The full log can be found here.

First Section

Here is a segment from the fist section. A lot of this is unable to open file /memfd colon file name. Looking at the Linux MAN Page. It looks to be files that are created in RAM. So it looks like it might be some memory issue.

Application: plasmashell (plasmashell), signal: Aborted

warning: Can't open file /memfd:kwin-dmabuf-feedback-table (deleted) during file-backed mapping note processing
...

Second Section

The next “Section” of the log file was several lines of [New LWP (UID)]. I think LWP is referring to Light-weight Process. So it is starting up some user level multi-tasking processes.

[New LWP 153331]
[New LWP 153385]
[New LWP 153345]
...

Third Section

This third section looks like where things really started to go wrong. It looks like most of threads that were started up in the previous section started erroring out. Here is the first and last part of the third sections:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/plasmashell --no-respawn'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f47686803cc in __pthread_kill_implementation () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7f4761f41f00 (LWP 153331))]
add symbol table from file "/lib64/libc.so.6"
add symbol table from file "/lib64/libKF6Crash.so.6"
add symbol table from file "/lib64/libQt6Core.so.6"
add symbol table from file "/lib64/libKF6ConfigCore.so.6"
add symbol table from file "/lib64/libKF6IconThemes.so.6"
add symbol table from file "/lib64/libQt6DBus.so.6"
add symbol table from file "/lib64/libQt6Widgets.so.6"
add symbol table from file "/lib64/libglib-2.0.so.0"
add symbol table from file "/usr/bin/plasmashell"
[Current thread is 51 (Thread 0x7f46d97fa6c0 (LWP 156231))]

...

Thread 1 (Thread 0x7f4761f41f00 (LWP 153331)):
[KCrash Handler]
#4  0x00007f47686803cc in __pthread_kill_implementation () from /lib64/libc.so.6
#5  0x00007f476862618e in raise () from /lib64/libc.so.6
#6  0x00007f476860d6d0 in abort () from /lib64/libc.so.6
#7  0x00007f476860e73b in __libc_message_impl.cold () from /lib64/libc.so.6
#8  0x00007f476868a665 in malloc_printerr () from /lib64/libc.so.6
#9  0x00007f476868b1fc in malloc_consolidate () from /lib64/libc.so.6
#10 0x00007f476868d7a8 in _int_malloc () from /lib64/libc.so.6
#11 0x00007f476868e259 in __libc_malloc2 () from /lib64/libc.so.6
#12 0x00007f4768e4b0a0 in QArrayData::allocate2(QArrayData**, long long, QArrayData::AllocationOption) () from /lib64/libQt6Core.so.6
#13 0x00007f4768e09822 in QString::QString(long long, Qt::Initialization) () from /lib64/libQt6Core.so.6
#14 0x00007f4768e20d02 in QUtf8::convertToUnicode(QByteArrayView) () from /lib64/libQt6Core.so.6
#15 0x00007f4768e02b1e in QString::fromUtf8(QByteArrayView) () from /lib64/libQt6Core.so.6
#16 0x00007f476a7901b5 in KConfigPrivate::lookupData(QString const&, QAnyStringView, QFlags<KEntryMap::SearchFlag>, bool*) const () from /lib64/libKF6ConfigCore.so.6
#17 0x00007f476a79e368 in KConfigGroup::readPathEntry(char const*, QString const&) const () from /lib64/libKF6ConfigCore.so.6
#18 0x00007f476a79e4f1 in KConfigGroup::readPathEntry(char const*, QList<QString> const&) const () from /lib64/libKF6ConfigCore.so.6
#19 0x00007f4769e4171a in KIconTheme::KIconTheme(QString const&, QString const&, QString const&) () from /lib64/libKF6IconThemes.so.6
#20 0x00007f4769e44790 in KIconLoaderPrivate::initIconThemes() [clone .part.0] () from /lib64/libKF6IconThemes.so.6
#21 0x00007f4769e2d35d in KIconLoaderPrivate::init(QString const&, QList<QString> const&) () from /lib64/libKF6IconThemes.so.6
#22 0x00007f4769e3b90b in KIconLoader::newIconLoader() () from /lib64/libKF6IconThemes.so.6
#23 0x00007f4769e2cefb in KIconLoaderPrivate::_k_refreshIcons(int) () from /lib64/libKF6IconThemes.so.6
#24 0x00007f4768d6759a in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt6Core.so.6
#25 0x00007f4769e37177 in KIconLoaderGlobalData::qt_metacall(QMetaObject::Call, int, void**) () from /lib64/libKF6IconThemes.so.6
#26 0x00007f4769354f5e in QDBusConnectionPrivate::deliverCall(QObject*, QDBusMessage const&, QList<QMetaType> const&, int) () from /lib64/libQt6DBus.so.6
#27 0x00007f4768d58fcc in QObject::event(QEvent*) () from /lib64/libQt6Core.so.6
#28 0x00007f476b23db9f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt6Widgets.so.6
#29 0x00007f4768cfc4e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt6Core.so.6
#30 0x00007f4768cffb09 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQt6Core.so.6
#31 0x00007f476901efcf in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt6Core.so.6
#32 0x00007f47676eb2a3 in g_main_context_dispatch_unlocked.lto_priv () from /lib64/libglib-2.0.so.0
#33 0x00007f47676f41f8 in g_main_context_iterate_unlocked.isra () from /lib64/libglib-2.0.so.0
#34 0x00007f47676f43a3 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#35 0x00007f476901e80d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6
#36 0x00007f4768d09063 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt6Core.so.6
#37 0x00007f4768d04819 in QCoreApplication::exec() () from /lib64/libQt6Core.so.6
#38 0x000055d3ba35698d in main ()   

Ask AI

Since it is the year 2025, I asked AI. I wanted to see if it could go through the entire stack trace and identify some information that could help! Note: I have written thoughts about AI previously. Here is what GPT-4.1 came up with:

Image

Ah, of course! Looking at the last section of the stack it does throw a lot of errors pertaining to icons and themes, that also explains why the task bar temporarily dissapears. Here is more information on what KIconLoader does.

Mitigation

I am going to follow the AI recommended steps here.

  1. Clear the Plasma icon cache.
    a. Easy to do. However; I am not sure about this, since it is a re-occurring issue.
  2. Switch to a default icon theme and restart plasma.
    a. I am not using a non-default theme (I am using breeze dark / breeze light depending on the time of day)
  3. Make sure your KDE and Qt packages are up to date.
    a. I regularly update the packages on here.

Other thoughts

I am wondering if this is a bug with the automatic theme switcher that I enabled with the Plasma 6.5 release. Although, I am on the most recent KDE Version at the current moment (6.5.4), and I do not see any comments about it in the release logs.

Final Conclusion

Maybe clearing the cache fixed my issue. I will follow up with more information in a later blog post.

Updated: