[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    WE vs Taskbar ghost entries bug
From:       Alex Fiestas <afiestas () kde ! org>
Date:       2011-07-31 4:51:52
Message-ID: 4E34DF68.8060806 () kde ! org
[Download RAW message or body]

Hi there!

After releasing bluedevil 1.2 I didn't have anything else to do for the 
night so I have been doing some bug busting with our favorite bug, the 
Ghost Entries, and I think that I got something.

First of all, this is how I can reproduce this nasty bug:

1-Execute "cat /dev/urandom > /dev/null" as root one time per core to 
keep your CPU busy, we need new apps to be slow at launch
2-execute "plasmoidviewer tasks"
3-Configure the plasmoidviewer to show only "only taks from current 
desktop", leave the rest with defaults
4-Be sure that at least 2 desktop contains more than 2 apps
5-Go to desktop 2
6-Execute a KDE application (the longuer it takes to execute, the 
better, in my case I'm using akregator)
7-Quickly after launching the app move to another desktop (I'm doing 
this via shortcut)

So, after discover how to reproduce the bug (took me a while) I started 
to do some gdb digging, this is what I got:

The problem seems to be that the TaskGroup from TaskGroupItem contains 
deleted or invalid items but those are not detected as "invalid" so they 
are included (itemAdded) anyway.

Part of the problem can be that some TaskItem are neither task or 
startupTask for example at TaskItem::winIds I added a 
if(!d->startupTask) within the !d->task block and the "ghost entries" 
had both (task and startupTask) at null.

Monday I will have round2 though I expect more people to jump into the 
fight now that in theory you should be able to reproduce the bug.

Cheers!
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic