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