Bug 203754 - make plasma more immune to plasma applet crashes
Summary: make plasma more immune to plasma applet crashes
Status: RESOLVED DUPLICATE of bug 199754
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR wishlist
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-13 21:33 UTC by Martin Steigerwald
Modified: 2009-12-22 14:47 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Steigerwald 2009-08-13 21:33:20 UTC
Version:            (using KDE 4.3.0)
OS:                Linux
Installed from:    Debian testing/unstable Packages

While testing KDE 4.3.0 for a review I found the Remember The Milk applet to be quite unstable. I already reported this in bug #202918.

What annoyed me a lot that each time it crashed it tore down the whole desktop. This happened more than 10 times to me. I even got something like a crash loop where plasma almost didn't have enough time to build itself up before it crashed again.

Until I found out that it might be the applet by taking the time for a backtrace via DrKonqi I thought the plasma desktop itself was quite unstable. But when I removed that applet plasma didn't crash once anymore.

I suggest to make plasma more immune to crashes of applets. Why?

1) The user can and is basically encouraged to get plasmoids from the internet which do not receive the same amount of quality assurance than the official ones.

2) Even a official plasmoid showed to be unstable here.

3) When plasmoid crashes in the first moment it looks like the whole desktop crashes and is broken.

4) The automatic plasma restart takes quite some time on my ThinkPad T42 and I can´t use the machine during that time.

5) When plasmoid crashes all of the time directly after it is started, the whole plasma desktop becomes unusable and stuck in a crash loop right after login.

6) Sometimes plasma doesn't restart automatically and I have to start the command "plasma-desktop" via KRunner to get it back. The novice user would be stuck with an empty desktop in that case. (This might be worth a different bug report, tell me if you want that.)

7) The user might be doing some serious work like editing a note when another applet crashes plasma. The user might loose information in that case.

I don't know what would be the best approach to make plasma more immune to crashes of plasmoids running in it, but my best idea right now is to have plasmoids run as separate processes instead of running in the context of the "plasma-desktop" process.

This would give several benefits:

1) The Linux or whatever kernel probably has more experience in scheduling the work the various applets have to do than plasma itself. It usually does preemptive multitasking and does it good.

2) If a applet crashes it doesn't affect the rest of the desktop.

3) The Plasma shell could report the broken applet to the user.

4) DrKonqi contributes the crash to the applet that caused it instead of the "plasma-desktop" process.

It might also have some drawbacks:

1) Communication between Plasma and its applets might be more complex.

2) Communication between Plasma and its applets might have more overhead.

This drawbacks might make the seperate processes idea unfeasible. There may also be some other way to make plasma more immune to crashes of applets running in it.

I think this is an important task to accomplish. Please consider it. Maybe there is a way it can be done simply and efficiently.

Its not the Remember The Milk plasmoid being the main problem here. It could happen with other applets too.
Comment 1 Dario Andres 2009-11-29 23:01:59 UTC
This is also being tracked at bug 199754, (and other reports I can't find right now)
Comment 2 Martin Steigerwald 2009-12-22 14:47:45 UTC
Yes, apart from some suggestions this is a duplicate of bug #199754.

*** This bug has been marked as a duplicate of bug 199754 ***