Summary: | Crash when .config/ksysoca is owned by root | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Robin <mail> |
Component: | general | Assignee: | David Edmundson <kde> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | aajmj, ali.sherif10, bhush94, BradRDoyle, chippinkston, flowwolf, havoigt, ishitatsuyuki, kde4, mathojojo, meikamona, meza.hiram.i, mh.joosten666, notmart, paul, rafalfr, russianneuromancer, santiago.osella, simonandric5, wes.ovall, xenodelphia |
Priority: | NOR | ||
Version: | 5.1.1 | ||
Target Milestone: | 1.0 | ||
Platform: | Kubuntu | ||
OS: | Linux | ||
URL: | http://abload.de/img/img_20150103_140004htu6u.jpg | ||
Latest Commit: | http://commits.kde.org/kservice/6191c78f980aff1cd9139b164d67a1f65ac6f16b | Version Fixed In: | |
Attachments: |
New crash information added by DrKonqi
backtrace New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi |
Description
Robin
2015-01-03 13:27:34 UTC
*** Bug 340050 has been marked as a duplicate of this bug. *** Had the same issue. Kubuntu 14.10, Plasma 5.1 updated to 5.2. At some point, Powershell crashed. After that, on reboot I would get the login screen, then just a black screen with a lighter grey footer where the usual panel would be. I was able to resolve this by deleting ~/.cache ~/.config and ~/.kde. That reset everything and it worked for a while till I had another Powershell crash. Haven't tried rebooting yet. Created attachment 91343 [details]
New crash information added by DrKonqi
plasmashell () using Qt 5.4.0
I installed Kubuntu 14.10 with KDE Plasma 5 (and all updates leading to Kde 5.2)
Everything worked until I mounted some NFS shares. When i mounted the NFS shares the crash happened
-- Backtrace (Reduced):
#5 QDataStream::operator>> (this=this@entry=0x0, i=@0x7fff7b5213c4: 32724) at io/qdatastream.cpp:646
#6 0x00007fd4b58cd5ad in KServiceGroupFactory::KServiceGroupFactory (this=0x1ae52e0) at ../../src/services/kservicegroupfactory.cpp:38
#7 0x00007fd4b58cd732 in self (this=<optimized out>) at ../../src/sycoca/ksycocafactory_p.h:212
#8 KServiceGroupFactory::self () at ../../src/services/kservicegroupfactory.cpp:58
#9 0x00007fd4b58c8d50 in KServiceGroup::root () at ../../src/services/kservicegroup.cpp:661
Created attachment 91973 [details]
backtrace
possible duplicate, plasmashell crashes after updating kf5.kiconthemes: "Theme tree: (Breeze)" plasmashell 5.2.2 Description: Ubuntu Vivid Vervet (development branch) Release: 15.04 Linux 3.19.0-12-generic (x86_64) backtrace atteached pasting inline relevant parts Thread 1 (Thread 0x7efff202a7c0 (LWP 484)): [KCrash Handler] #6 QDataStream::operator>> (this=this@entry=0x0, i=@0x7ffcbde3cce4: 0) at io/qdatastream.cpp:646 #7 0x00007effeecd2a1d in KServiceGroupFactory::KServiceGroupFactory (this=0x658ffb0) at ../../src/services/kservicegroupfactory.cpp:38 #8 0x00007effeecd2ba2 in self (this=<optimized out>) at ../../src/sycoca/ksycocafactory_p.h:212 #9 KServiceGroupFactory::self () at ../../src/services/kservicegroupfactory.cpp:58 #10 0x00007effeecce0c0 in KServiceGroup::root () at ../../src/services/kservicegroup.cpp:661 #11 0x00007effeecce195 in KServiceGroup::group (relPath=...) at ../../src/services/kservicegroup.cpp:668 #12 0x00007eff06dc11a2 in Kickoff::ApplicationModelPrivate::fillNode (this=0x6f7e120, _relPath=..., node=0x5d2d8b0) at ../../../applets/kickoff/core/applicationmodel.cpp:162 #13 0x00007eff06dc3dfd in Kickoff::ApplicationModel::reloadMenu (this=this@entry=0x6d6ed40) at ../../../applets/kickoff/core/applicationmodel.cpp:550 #14 0x00007eff06dc4dde in Kickoff::ApplicationModel::checkSycocaChange (this=0x6d6ed40, changes=...) at ../../../applets/kickoff/core/applicationmodel.cpp:557 #15 0x00007effed6cf9c9 in QMetaObject::activate (sender=sender@entry=0x15036a0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffcbde3d130) at kernel/qobject.cpp:3716 #16 0x00007effed6d0057 in QMetaObject::activate (sender=sender@entry=0x15036a0, m=m@entry=0x7effeef0ebc0 <KSycoca::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffcbde3d130) at kernel/qobject.cpp:3582 #17 0x00007effeecfbb95 in KSycoca::databaseChanged (this=this@entry=0x15036a0, _t1=...) at moc_ksycoca.cpp:148 #18 0x00007effeecea31c in KSycoca::notifyDatabaseChanged (this=0x15036a0, changeList=...) at ../../src/sycoca/ksycoca.cpp:374 #19 0x00007effeecfc2b3 in KSycoca::qt_metacall (this=0x15036a0, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7ffcbde3d2e0) at moc_ksycoca.cpp:128 #20 0x00007efff21595c7 in QDBusConnectionPrivate::deliverCall (this=0x0, object=0x7ffcbde3cce4, msg=..., metaTypes=..., slotIdx=127291264) at qdbusintegrator.cpp:993 #21 0x00007effed6d073a in QObject::event (this=0x15036a0, e=<optimized out>) at kernel/qobject.cpp:1245 #22 0x00007effedfa8b2c in QApplicationPrivate::notify_helper (this=0x146e420, receiver=0x15036a0, e=0x4f823e0) at kernel/qapplication.cpp:3720 #23 0x00007effedfae000 in QApplication::notify (this=0x7ffcbde3da10, receiver=0x15036a0, e=0x4f823e0) at kernel/qapplication.cpp:3503 #24 0x00007effed69ec2b in QCoreApplication::notifyInternal (this=0x7ffcbde3da10, receiver=0x15036a0, event=event@entry=0x4f823e0) at kernel/qcoreapplication.cpp:935 #25 0x00007effed6a0c9b in sendEvent (event=0x4f823e0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228 #26 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1463f00) at kernel/qcoreapplication.cpp:1552 #27 0x00007effed6a1298 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1410 #28 0x00007effed6f7843 in postEventSourceDispatch (s=0x14b73f0) at kernel/qeventdispatcher_glib.cpp:271 #29 0x00007effe94f2c3d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #30 0x00007effe94f2f20 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #31 0x00007effe94f2fcc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #32 0x00007effed6f7c57 in QEventDispatcherGlib::processEvents (this=0x14b8250, flags=...) at kernel/qeventdispatcher_glib.cpp:418 #33 0x00007effed69c3e2 in QEventLoop::exec (this=this@entry=0x7ffcbde3d890, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #34 0x00007effed6a402c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188 #35 0x00007effed9e331c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1510 #36 0x00007effedfa47a5 in QApplication::exec () at kernel/qapplication.cpp:2956 #37 0x000000000042fd9b in main (argc=2, argv=<optimized out>) at ../../shell/main.cpp:158 (In reply to flowwolf from comment #5) > possible duplicate, plasmashell crashes after updating > > kf5.kiconthemes: "Theme tree: (Breeze)" > plasmashell 5.2.2 > Description: Ubuntu Vivid Vervet (development branch) > Release: 15.04 > Linux 3.19.0-12-generic (x86_64) > > backtrace atteached Exactly the same here with KUBUNTU 15.04 just installed. The only way to restart a working plasma desktop is by deleting the hidden .cache file first in the user directory. But of course, it just helps until next plasmashell crash.... if it can help, i had this plasmashell crash with : - linux-generic - linux-lowlatency - Xorg radeon drivers - fglrx-updates drivers KDE plasma 5.2.2 QT : 5.4.1 CPU is an AMD FX(tm)-4100 Quad-Core Processor Radeon HD 6570 Deleting .kde, .config, .local before rebooting does not help. When desktop is launched, there is no wallpaper, no panel.. we just have a working mouse pointer (but nothing to click ;) ). But deleting .cache directory before rebooting helps to restore a working plasma desktop until next crash. I have not experienced this bug since that crash, but some of these helped: [ctrl+alt+f1] sudo service sddm stop rm -rf ~/.cache rm ~/.config/kwinrc kbuildsycoca5 sudo startx --> (This will fail !) killall plasmashell && sudo plasmashell "https://harishnavnit.wordpress.com/2015/01/26/workaround-plasma5-session-fails-to-start/" >sudo startx --> (This will fail !)
please don't do this.
What's that trying to do?
I don't know. I just entered them, some commands failed, but a single "rm -rf ~/.cache" didn't help. As far as I can remember, "rm -rf ~/.cache" and "kbuildsycoca5" solved it. yeah, that makes sense, the crash is parsing the cache of the desktop files .cache if this happens again can you move the .cache file instead of deleting it; then show us ls -l .cache and maybe attach the ~/.cache/ksycoca5 file Ok, I can't reproduce this bug though and I can't remember how it crashed, the system have updated itself and plasmashell have crashed since that time many times and it restarted itself successfully. rockeurs@rockeurs-pc:~$ ls -l .cache total 118592 -rw-rw-r-- 1 rockeurs rockeurs 10547304 avril 27 23:57 activityswitcher_wallpaper_preview.kcache -rw-r--r-- 1 rockeurs rockeurs 12288 avril 27 16:20 event-sound-cache.tdb.333a44a84ba649648b38138d8b61da5e.x86_64-pc-linux-gnu drwxrwxr-x 2 rockeurs rockeurs 4096 avril 26 13:03 gstreamer-1.0 -rw-rw-r-- 1 rockeurs rockeurs 10547304 avril 27 23:58 icon-cache.kcache drwxrwxr-x 2 rockeurs rockeurs 4096 avril 27 23:58 krunner -rw-r--r-- 1 rockeurs rockeurs 10485760 avril 27 23:58 krunnerbookmarkrunnerfirefoxdbfile.sqlite -rw------- 1 root root 1096862 avril 27 23:53 ksycoca5 -rw-rw-r-- 1 rockeurs rockeurs 448 avril 27 23:53 ksycoca5stamp drwx------ 3 rockeurs rockeurs 4096 avril 26 12:22 mozilla drwxrwxr-x 3 rockeurs rockeurs 4096 avril 27 19:28 plasmashell -rw-r--r-- 1 rockeurs rockeurs 10485760 avril 27 19:28 plasmashellbookmarkrunnerfirefoxdbfile.sqlite -rw-r--r-- 1 rockeurs rockeurs 32768 avril 27 19:28 plasmashellbookmarkrunnerfirefoxdbfile.sqlite-shm -rw-r--r-- 1 rockeurs rockeurs 0 avril 27 19:28 plasmashellbookmarkrunnerfirefoxdbfile.sqlite-wal -rw------- 1 rockeurs rockeurs 943 avril 27 10:05 plasma-svgelements-air_v1.0 -rw------- 1 rockeurs rockeurs 38345 avril 27 10:05 plasma-svgelements-breeze-dark_v0.9.7 -rw------- 1 rockeurs rockeurs 67257 avril 27 23:33 plasma-svgelements-default_v0.9.7 -rw------- 1 rockeurs rockeurs 848 avril 27 10:05 plasma-svgelements-oxygen_v0.9 -rw-rw-r-- 1 rockeurs rockeurs 16875624 avril 27 10:05 plasma_theme_air_v1.0.kcache -rw-rw-r-- 1 rockeurs rockeurs 16875624 avril 27 10:05 plasma_theme_breeze-dark_v0.9.7.kcache -rw-rw-r-- 1 rockeurs rockeurs 16875624 avril 27 23:58 plasma_theme_default_v0.9.7.kcache -rw-rw-r-- 1 rockeurs rockeurs 16875624 avril 27 10:05 plasma_theme_oxygen_v0.9.kcache -rw-rw-r-- 1 rockeurs rockeurs 10547304 avril 27 10:56 plasma_wallpaper_preview.kcache drwxrwxr-x 2 rockeurs rockeurs 4096 avril 27 10:00 sso drwx------ 4 rockeurs rockeurs 4096 avril 27 09:55 thumbnails drwxrwxr-x 2 rockeurs rockeurs 4096 avril 26 12:44 update-manager-core -rw------- 1 root root 1096862 avril 27 23:53 ksycoca5 owned by root. Well here's our problem. Any idea what KDE app you started around 23:53 that might have caused this; something that runs as root? also if you do: sudo chown rockeurs:rockeurs ~.cache/ksycoca5 from a terminal it should fix it; let me know if it does. mmm, I just noticed that ksycoca5 file is a root file. And I think I know where the problem is coming from! In fact, just before the plasmashell crashed, I launched Dolphin as root (sudo dolphin) in a Terminal. In this case, the root session of dolphin is writting ksycoca5 in the userspace .local directory (changing the owner of the file at the same time). Should it not write ksycoca5 in the /root directory instead ?? All other files in .cache are still the proprietary of the usual user. So now, I'm quite sure I just need to delete ksycoca5 file, and my plasmashell will restart well. We have 3 things to do: - not crash if we can't read that file - not write things into the wrong homedir if we are running as root. - find out why people are running dolphin as root, and fix whatever it is people are doing that for so that they don't have to. All need doing Everyone else in this thread, can you see next time it crashes if your reason is the same as this? More questions. Can you remember exactly how you launched dolphin as root from the terminal what does "echo $XDG_CACHE_DIR" in a terminal tell you? sorry I meant $XDG_CACHE_HOME $XDG_CACHE_HOME --> did nothing in the terminal. And if you want one good reason for people launching Dolphin as root : SAMBA. In Dolphin, if I want to share my video directory (or any other directory, of course), I need to be root. If I stay as usual user, It will not work. (The strange thing, is that Dolphin will not notify you that it won't work). So, I had to launch Konsole In Konsole I typed this command : sudo dolphin And I set 3 directories to be shared.. If there is a way to do it without the root privileges in Dolphin.... of course I will learn with pleasure. "sudo dolphin" definitely changed ksycoca5 to root. I can't produce any plasmacrash now, but there were some in the installation image "kubuntu-15.04-beta2-desktop-amd64.iso". Also, system settings does not seems to start if ksycoca5 is root: "System Settings was unable to find any views, and hence has nothing to display" I'm a bit new to linux. I changed back the owner/group with "sudo user:user ksycoca5", after this "sudo dolphin" won't change ksycoca5 to root. (In reply to flowwolf from comment #21) > "sudo dolphin" definitely changed ksycoca5 to root. I can't produce any > plasmacrash now, but there were some in the installation image > "kubuntu-15.04-beta2-desktop-amd64.iso". > Also, system settings does not seems to start if ksycoca5 is root: "System > Settings was unable to find any views, and hence has nothing to display" > I'm a bit new to linux. I changed back the owner/group with "sudo chown user:user > ksycoca5", after this "sudo dolphin" won't change ksycoca5 to root. Created attachment 92340 [details]
New crash information added by DrKonqi
plasmashell (5.2.2) using Qt 5.4.1
- What I was doing when the application crashed:
Generally maximizing windows or switching between apps.
The following features still work fine:
Alt+Tab
Ctrl+Alt+Fx
Typing in plasma prompt.
Already opened windows
Windows decorations
- Unusual behavior I noticed:
Screen flashed as if refresh rate was failing.
- Home-made fix
Console login and rm -r .cache/
Reboot, login and add default panel.
-- Backtrace (Reduced):
#6 QDataStream::operator>> (this=this@entry=0x0, i=@0x7ffc53c43a24: 32668) at io/qdatastream.cpp:646
#7 0x00007f9c4560ba25 in KServiceGroupFactory::KServiceGroupFactory (this=0x5426360) at ../../src/services/kservicegroupfactory.cpp:39
#8 0x00007f9c4560bba2 in self (this=<optimized out>) at ../../src/sycoca/ksycocafactory_p.h:212
#9 KServiceGroupFactory::self () at ../../src/services/kservicegroupfactory.cpp:59
#10 0x00007f9c456070c0 in KServiceGroup::root () at ../../src/services/kservicegroup.cpp:661
Finally, I think the problem appears with any KDE app opened as root. As well as with Dolphin, I got a ksycoca5 rights problem after opening a file with kate as root (sudo kate /etc/LCDd.conf). Now I'm trying to edit thous config files with nano in Konsole.... But this is just a workaround. Opening an KDE app shouldn't corrupt user's ksycoca5 file. Please dont' run graphical apps as root the best way to edit a file as root is VISUAL=kate sudoedit /etc/somefile that copies the file as root to somewhereeditiable then loads kate as your normal use, then as root copies ot back *** Bug 347810 has been marked as a duplicate of this bug. *** *** Bug 346310 has been marked as a duplicate of this bug. *** Created attachment 92647 [details]
New crash information added by DrKonqi
plasmashell (5.2.2) using Qt 5.4.1
- What I was doing when the application crashed:
updating system..also i had to run kate as root to update my sources.list with new repositories... this is a fresh install of kubunu wily. wily-proposed packages enabled...
nice day
Simon :)
-- Backtrace (Reduced):
#6 QDataStream::operator>> (this=this@entry=0x0, i=@0x7ffc63e80144: 0) at io/qdatastream.cpp:646
#7 0x00007fb79728aa25 in KServiceGroupFactory::KServiceGroupFactory (this=0x5875570) at ../../src/services/kservicegroupfactory.cpp:39
#8 0x00007fb79728aba2 in self (this=<optimized out>) at ../../src/sycoca/ksycocafactory_p.h:212
#9 KServiceGroupFactory::self () at ../../src/services/kservicegroupfactory.cpp:59
#10 0x00007fb7972860c0 in KServiceGroup::root () at ../../src/services/kservicegroup.cpp:661
(In reply to David Edmundson from comment #25) > Please dont' run graphical apps as root > > the best way to edit a file as root is > > > VISUAL=kate sudoedit /etc/somefile > > that copies the file as root to somewhereeditiable then loads kate as your > normal use, then as root copies ot back ----- Hello! I just wanted to say i also use kate and dolphin as root (as probably most users) for file permission changes --- and ok, this way is possible to do one field by one file, but what about multiple files... i would humbly suggest that kate and dolphin (or any other program,...i dunno) have (wishlist) a chance to open/save a file as "administrators" -- for example if the file can be opened but not saved, the kate/dolphin would prompt for root password when trying to save / or save a copy somewhere else in case you dont know password. in case if the file cannot be opened wihtout root privileges, when you click on file to open it or in dolphin when you right click and want to change permissions, when you click APPLY, the prompt for password should appear (and not that the permissions are greyed out and you cannot do anything...). thank you! Simon :) *** Bug 347919 has been marked as a duplicate of this bug. *** *** Bug 347969 has been marked as a duplicate of this bug. *** Created attachment 92804 [details]
New crash information added by DrKonqi
plasmashell (5.2.2) using Qt 5.4.1
-- Backtrace (Reduced):
#6 QDataStream::operator>> (this=this@entry=0x0, i=@0x7ffd455a8434: 32686) at io/qdatastream.cpp:646
#7 0x00007fae79420a25 in KServiceGroupFactory::KServiceGroupFactory (this=0x61bd240) at ../../src/services/kservicegroupfactory.cpp:39
#8 0x00007fae79420ba2 in self (this=<optimized out>) at ../../src/sycoca/ksycocafactory_p.h:212
#9 KServiceGroupFactory::self () at ../../src/services/kservicegroupfactory.cpp:59
#10 0x00007fae7941c0c0 in KServiceGroup::root () at ../../src/services/kservicegroup.cpp:661
In my report, the crash may not be reproducible always. *** Bug 347438 has been marked as a duplicate of this bug. *** Git commit 58a5a7cdd70e7933b2593597aa76b68a94e3f3ea by David Edmundson. Committed on 27/05/2015 at 12:13. Pushed by davidedmundson into branch 'master'. Fix check for invalid permissions writing file QFile::open() will return a Read/Write error on failed access, PermissionsError is only in the result of a setPermissions call. M +2 -1 src/kbuildsycoca/kbuildsycoca.cpp http://commits.kde.org/kservice/58a5a7cdd70e7933b2593597aa76b68a94e3f3ea Git commit 6191c78f980aff1cd9139b164d67a1f65ac6f16b by David Edmundson. Committed on 27/05/2015 at 12:13. Pushed by davidedmundson into branch 'master'. Guard against being unable to open stream This can happen if we are unable to open the database when a notifyDatabaseChanged signal is emitted. M +3 -0 src/services/kservicegroupfactory.cpp http://commits.kde.org/kservice/6191c78f980aff1cd9139b164d67a1f65ac6f16b Git commit c65e039af39f1da70dbf0a8e2278e1c12fe375b5 by David Edmundson. Committed on 28/05/2015 at 10:19. Pushed by davidedmundson into branch 'master'. When running as root preserve file ownership on existing cache files $HOME is often preserved as root, making us write cache files in the user's home directory. REVIEW: 123857 M +13 -0 src/kbuildsycoca/kbuildsycoca.cpp http://commits.kde.org/kservice/c65e039af39f1da70dbf0a8e2278e1c12fe375b5 *** Bug 349277 has been marked as a duplicate of this bug. *** *** Bug 349930 has been marked as a duplicate of this bug. *** *** Bug 350368 has been marked as a duplicate of this bug. *** *** Bug 351204 has been marked as a duplicate of this bug. *** *** Bug 351901 has been marked as a duplicate of this bug. *** *** Bug 352542 has been marked as a duplicate of this bug. *** *** Bug 346112 has been marked as a duplicate of this bug. *** *** Bug 351802 has been marked as a duplicate of this bug. *** *** Bug 343439 has been marked as a duplicate of this bug. *** |