Bug 341963

Summary: After full HDD home/.cache gets corrupted, plasmashell stuck on file locking
Product: [Plasma] plasmashell Reporter: Peter van der Perk <peter>
Component: generalAssignee: Sebastian Kügler <sebas>
Status: RESOLVED NOT A BUG    
Severity: normal CC: bhush94, faffo665, kde-bugs, kde, mbouchar, rafaelalcantaraperez, rdieter, slawek
Priority: NOR    
Version: master   
Target Milestone: 1.0   
Platform: Kubuntu   
OS: Linux   
Latest Commit: Version Fixed In:

Description Peter van der Perk 2014-12-17 07:26:48 UTC
After my SSD went full, my pc froze and i had to reboot. So i freed SSD space and started KDE. Everything was starting but sddm stayed stuck on ~80%. After switching tty is saw that kwin_x11 was running and plasmashell. I found out that plasmashell was somehow stuck.
I tried to debug it and found out that the main thread was stuck on QLockFile::tryLock(int).
After finding that out i cleaning my .cache folder and plasmashell started again.
Unfortunately i couldn't find out which file was causing this.
Yet i attached some GDB output and hopefully it's something useful.

Reproducible: Couldn't Reproduce




GDB output:
#0  0x00007ffff1c4788d in nanosleep () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007ffff23b0b0d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007ffff22f66b8 in QThread::msleep(unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007ffff2455730 in QLockFile::tryLock(int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff39422f9 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ConfigCore.so.5
#5  0x00007ffff392fea6 in KConfig::sync() () from /usr/lib/x86_64-linux-gnu/libKF5ConfigCore.so.5
#6  0x00007ffff6f1b5c3 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5Plasma.so.5
#7  0x00007ffff6f15248 in Plasma::Theme::~Theme() () from /usr/lib/x86_64-linux-gnu/libKF5Plasma.so.5
#8  0x00007ffff6f154f9 in Plasma::Theme::~Theme() () from /usr/lib/x86_64-linux-gnu/libKF5Plasma.so.5
#9  0x00007ffff255dc4c in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff2566f53 in QObject::~QObject() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00000000004768b4 in ~AppInterface (this=0x11b1b30, __in_chrg=<optimized out>) at ../../shell/scripting/appinterface.h:40
#12 WorkspaceScripting::AppInterface::~AppInterface (this=0x11b1b30, __in_chrg=<optimized out>) at ../../shell/scripting/appinterface.h:40
#13 0x00007ffff255dc4c in QObjectPrivate::deleteChildren() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff2566f53 in QObject::~QObject() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x0000000000450018 in ShellCorona::processUpdateScripts (this=this@entry=0x6f79f0) at ../../shell/shellcorona.cpp:506
#16 0x0000000000450179 in ShellCorona::load (this=0x6f79f0) at ../../shell/shellcorona.cpp:273
#17 0x0000000000450cf4 in ShellCorona::setShell (this=0x6f79f0, shell=...) at ../../shell/shellcorona.cpp:231
#18 0x00007ffff255ed7e in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00000000004730a2 in ShellManager::shellChanged (this=this@entry=0x6e7840, _t1=...) at moc_shellmanager.cpp:155
#20 0x00000000004570c8 in ShellManager::updateShell (this=this@entry=0x6e7840) at ../../shell/shellmanager.cpp:234
#21 0x000000000045815e in ShellManager::loadHandlers (this=0x6e7840) at ../../shell/shellmanager.cpp:131
#22 0x000000000047340d in ShellManager::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at moc_shellmanager.cpp:99
#23 0x00007ffff256012a in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007ffff320216c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff320741e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007ffff253081b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007ffff25327e3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007ffff2587a63 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007fffedec5c5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007fffedec5f48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007fffedec5ffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007ffff2587e57 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007ffff252e042 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007ffff2535acc in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x000000000042d46f in main (argc=1, argv=<optimized out>) at ../../shell/main.cpp:150
  Id   Target Id         Frame 
  13   Thread 0x7fffaadf6700 (LWP 5174) "plasmashell" pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  12   Thread 0x7fffabdf7700 (LWP 5173) "QQmlThread" 0x00007ffff1c762cd in poll () at ../sysdeps/unix/syscall-template.S:81
  11   Thread 0x7fffbd1c6700 (LWP 5172) "QQmlThread" 0x00007ffff1c762cd in poll () at ../sysdeps/unix/syscall-template.S:81
  10   Thread 0x7fffbe7fe700 (LWP 5171) "QQmlThread" 0x00007ffff1c762cd in poll () at ../sysdeps/unix/syscall-template.S:81
  9    Thread 0x7fffbf7ff700 (LWP 5170) "QQmlThread" 0x00007ffff1c762cd in poll () at ../sysdeps/unix/syscall-template.S:81
  8    Thread 0x7fffccbdc700 (LWP 5169) "QQmlThread" 0x00007ffff1c762cd in poll () at ../sysdeps/unix/syscall-template.S:81
  7    Thread 0x7fffcdccd700 (LWP 5168) "QQmlThread" 0x00007ffff1c762cd in poll () at ../sysdeps/unix/syscall-template.S:81
  6    Thread 0x7fffcedbe700 (LWP 5167) "QQmlThread" 0x00007ffff1c762cd in poll () at ../sysdeps/unix/syscall-template.S:81
  5    Thread 0x7fffcfdcf700 (LWP 5166) "QQmlThread" 0x00007ffff1c762cd in poll () at ../sysdeps/unix/syscall-template.S:81
  4    Thread 0x7fffd56d0700 (LWP 5165) "QQmlThread" 0x00007ffff1c762cd in poll () at ../sysdeps/unix/syscall-template.S:81
  3    Thread 0x7fffdfbec700 (LWP 5164) "QQmlThread" 0x00007ffff1c762cd in poll () at ../sysdeps/unix/syscall-template.S:81
  2    Thread 0x7fffe4aa1700 (LWP 5159) "QXcbEventReader" 0x00007ffff1c762cd in poll () at ../sysdeps/unix/syscall-template.S:81
* 1    Thread 0x7ffff7f8a880 (LWP 5155) "plasmashell" 0x00007ffff1c4788d in nanosleep () at ../sysdeps/unix/syscall-template.S:81
A debugging session is active.

	Inferior 1 [process 5155] will be killed.

Quit anyway? (y or n)
Comment 1 David Edmundson 2014-12-20 08:47:09 UTC
Thanks for reporting. To be honest, if you run out of space there's not a lot else we can do.

I removed a lot of file syncs recently, so this particular lockup is probably gone.

Sorry.
Comment 2 Mathieu Bouchard 2015-02-07 15:10:29 UTC
I had the same problem, which is also described here: https://forum.kde.org/viewtopic.php?f=289&t=124690

After fixing the space problem and rebooting multiple times, I had to remove the .cache directory and run kbuildsycoca5 manually.

Kubuntu 15.04 running plasma-workspace 5.2.0-0ubuntu1
Comment 3 Daniele Ruffini 2015-02-08 10:12:32 UTC
Got the same problem out of nothing. Black screen after login via sddm with mouse input.

deleting everything kde related and reinstalling got me into the desktop, but after little usage the shell freezes (konsole still working perfectly).
after sometime everything freezes but the mouse and some highlight animations.
only thing working was changin virtual console.

never ran out of space (13% used), deleting .cache seems to have fixed the problem
Comment 4 Thomas Lübking 2015-02-19 15:08:41 UTC
*** Bug 344343 has been marked as a duplicate of this bug. ***
Comment 5 Alexander Kläser 2015-07-23 13:37:41 UTC
I also ran into this problem today. My HD filled up yesterday.
Comment 6 Alexander Kläser 2015-07-23 13:38:42 UTC
(In reply to Alexander Kläser from comment #5)
> I also ran into this problem today. My HD filled up yesterday.

I am using 5.9.0-0ubuntu1 with Kubuntu 15.04.