plasma-desktop (KDE factory) acting up?
Duncan
1i5t5.duncan at cox.net
Fri Oct 29 10:41:51 BST 2010
phanisvara das posted on Fri, 29 Oct 2010 13:50:25 +0530 as excerpted:
> for the last week or so i'm experiencing plasma-desktop getting
> corrupted without any apparent reason: the standard panel disappears,
> additional activities 'create themselves,' and the desktop seems to be
> in front of running applications. app.s show up on alt+tab (task
> switcher), but are invisible behind the desktop. they react to
> keystrokes, like alt+F4, but don't show up. restarting plasma-desktop
> doesn't help in such situations. only deleting everything plasma-related
> from ~/.kde4/share remedies the situation.
>
> i'm not complaining: using factory such things are to be expected, and i
> have the awesome windows manager to fall back to if things should get
> worse. but i'd like to know if i'm the only one experiencing this, i.e,
> if i have messed up something in my box, or if this happens to others
> too?
I've no idea what "KDE factory" is. Maybe "as shipped by upstream"? What
kde version?
Meanwhile...
With 4.5.x here (currently 4.5.2 but I'm not sure if it was 4.5.2 when
this happened), I triggered something rather similar when I started
experimenting with adding activities, etc (it was for a reply to a list
post, in fact), and I had a plasma crash (initial plasma crash due to a
graphics related kernel bug on my particular hardware). After a couple
plasma crashes (triggered by the kernel bug), it was as if plasma decided
to create new versions of about three activities every time it was
restarted (new kde start, graceful plasma terminate and restart, crash,
didn't matter now), PLUS remembering the activities it had before, so I
very quickly developed a whole slew of activities.
I don't know what was causing it (after the initial trigger, anyway, other
than presumably plasma doesn't react as well as it might to a partially
corrupted config), but I have a heavily enough customized plasma setup
that I didn't want to lose all of it with a clean config, so I was quite
reluctant to go that route.
So I used the bisect method to track it down to a specific file, then dove
into that file with a text editor...
The bisect method is a reasonably simple if boring "brute force" method of
tracing a problem down. Many people use it, by various names, but it has
become popular lately by the name "bisect", as the git revision control
system has a tool by that name that automates the process in regard do
pinning a bug down to a specific commit. However, the technique works
well enough to narrow down the domain that it even has a popular social
game based on it -- "20 questions" -- you may have heard of it.
The idea is this. From outside of whatever is causing the problem (so
with a kde issue, from gnome or from a text login, without kde running,
for some things you may want to login as root, and do it with your whole
user home dir), backup the existing config. To ensure that you're on the
right track, it's recommended to simply rename the whole thing (the entire
~/.kde dir, for instance) the first time, so it's starting fresh.
Then start whatever is causing the problem (kde, in this case), and see if
the problem is gone. If it is, you've confirmed that you're on the right
track.
Now, shut down the problem (kde, here) again, and remove anything created
from the initial test. Now split the problem space roughly in half. Copy
about half the config back from backup, and repeat the test. Now, if the
problem is back, you know it's in the half you copied back. If it's not,
you know it's in the half you did NOT copy back.
If you copied the good half, you can leave it, and now copy back half of
what's left. If it was the bad half you copied, delete half of it, and
copy in the good half. Either way, you now have half of the config known
good and half bad, with the good half plus half of the bad half now in
place.
Repeat the test again... and again... each time reducing the suspect area
by roughly half.
Eventually, you'll narrow it down to a suspect dir, then a subdir, then an
individual file.
If you customize like me, at any point you can decide, "OK, I can recreate
what's left from here without too much problem, I'm done." But because I
like to actually find the problem, I generally keep going. The point at
which it gets down to an individual file is a natural point at which to
make that decision, because at that point you cease working with the
filesystem and start working with a text editor (assuming it's a text
based config file, like KDE's are, fortunately).
However, once I reached the individual file, which in at least my case was
$KDEHOME/share/config/plasma-desktop-appletsrc, I *STILL* had a huge
amount of customization invested in the thing that I didn't want to lose.
Basically, it appears that file contains the ENTIRE plasma desktop config,
ALL activities, ALL panels, ALL plasmoids on those panels! That's a *LOT*
of config to lose, for a heavy customizer such as myself. (IOW, I really /
do/ hope they make it a directory tree based config at some point, with a
top level file at the top of the tree, describing each panel and activity,
with a subdir for each one. Each subdir would then contain further files
and perhaps subdirs of its own, if it represents a container plasmoid, so
ultimately, losing or corrupting a single file isn't such a huge loss!)
So I had little choice but to continue with the text editor in that file
itself. Unfortunately, while the layout is text oriented, the file isn't
exactly designed to be easy to edit manually, as every widget is numbered,
and one has to manually track down what each numbered element represents.
Some are easier than others as they contain names or other config hints,
but it can still be difficult if there's multiple instances of a widget
configured -- say multiple panels, or multiple activities, as one then has
to sort out not just that it's an activity, but which one.
But eventually, using a combination of further bisection and simply
reasoning out what each section corresponded to, I made enough sense of
the format and how the the individual sections corresponded to various
plasma widgets, whether they be containers or plasmoids, that I was able
to trouble-shoot things, and eliminate all the multiplying activities,
etc, while keeping the two activities I actually use, plus the panels,
along with all but one of the individual plasmoids, intact.
In the process, I pruned several sections that were "lost" fragments of
config from widgets I had long since deleted, as well as whatever was
actually triggering the activity multiplication, etc.
So it's possible to do, if you have enough patience and reasoning power to
stare at the text config and reason out what each section does. I
mentioned the file that was the problem here, plasma-desktop-appletsrc,
and I expect your version is getting corrupted as well. If that proves to
be your problem, I've already eliminated all the bisection to the
individual file level that I had to do, for you.
What you'll need to do now is either using the same edit methods I did, or
simply from-scratch reconfiguration, try to pin down the multiplier
trigger to a single widget or action, and then avoid it like the plague!
You can then configure everything else to your liking, simply avoiding
whatever individual widget or action (in my case, it had something to do
with playing around with additional activities, but fortunately, my
existing config was stable enough and close enough to what I wanted that I
could stop doing that, thus ceasing to pull the trigger on more problems)
causes the issue, once you're otherwise configured to your liking.
Meanwhile, plasma-desktop is stable enough for me now, as long as I don't
go playing with activities too much. And if I DO decide to play with
them, you can be very sure I'm going to make a fresh copy of my stable and
working plasma-desktop-appletsrc before I do so, just in case! Then I can
play all I want, and knowing the file that's the problem if it gets
corrupted, simply restore it from backup if activities start multiplying
on me again or something! =:^)
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
___________________________________________________
This message is from the kde mailing list.
Account management: https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.
More information about the kde
mailing list