[PATCH] Kwin infinite recursion

Martijn Klingens klingens at kde.org
Wed Nov 26 20:49:06 GMT 2003


Hiya,

I've had kwin consistently crash on me the last couple of days when starting 
my (rather old) ksirc build. As soon as a second chat window pops up (which 
is after auth'ing to nickserv, as I use SDI mode) kwin would go crazy in an 
infinite recursion loop, eating all my memory if I'm not quick enough to kill 
it.

After adding a bunch of kdDebugs around I got the attached debug log. As you 
can see it's alternating between the two windows looking for transients, 
whatever those are.

Attached patch fixes it for me, but as I don't even know what transients are I 
think it's wrong. Hopefully it helps others to come up with the proper fix, 
in the mean time this helps me to keep my box alive :)

-- 
Martijn
-------------- next part --------------
kwin: it:'ID:54526695;WMCLASS:ksirc:ksirc;Caption:ksirc <4>', this: 'ID:54526509;WMCLASS:ksirc:ksirc;Caption:ksirc <3>', cl: 'ID:54525977;WMCLASS:ksirc:ksirc;Caption:ksirc'
kwin:  KWinInternal::Client::hasTransient(const KWinInternal::Client*, bool) const]
kwin: it:'ID:54526509;WMCLASS:ksirc:ksirc;Caption:ksirc <3>', this: 'ID:54526695;WMCLASS:ksirc:ksirc;Caption:ksirc <4>', cl: 'ID:54525977;WMCLASS:ksirc:ksirc;Caption:ksirc'
kwin:  KWinInternal::Client::hasTransient(const KWinInternal::Client*, bool) const]
kwin: it:'ID:54526695;WMCLASS:ksirc:ksirc;Caption:ksirc <4>', this: 'ID:54526509;WMCLASS:ksirc:ksirc;Caption:ksirc <3>', cl: 'ID:54525977;WMCLASS:ksirc:ksirc;Caption:ksirc'
kwin:  KWinInternal::Client::hasTransient(const KWinInternal::Client*, bool) const]
kwin: it:'ID:54526509;WMCLASS:ksirc:ksirc;Caption:ksirc <3>', this: 'ID:54526695;WMCLASS:ksirc:ksirc;Caption:ksirc <4>', cl: 'ID:54525977;WMCLASS:ksirc:ksirc;Caption:ksirc'
kwin:  KWinInternal::Client::hasTransient(const KWinInternal::Client*, bool) const]
kwin: it:'ID:54526695;WMCLASS:ksirc:ksirc;Caption:ksirc <4>', this: 'ID:54526509;WMCLASS:ksirc:ksirc;Caption:ksirc <3>', cl: 'ID:54525977;WMCLASS:ksirc:ksirc;Caption:ksirc'
kwin:  KWinInternal::Client::hasTransient(const KWinInternal::Client*, bool) const]
kwin: it:'ID:54526509;WMCLASS:ksirc:ksirc;Caption:ksirc <3>', this: 'ID:54526695;WMCLASS:ksirc:ksirc;Caption:ksirc <4>', cl: 'ID:54525977;WMCLASS:ksirc:ksirc;Caption:ksirc'
kwin:  KWinInternal::Client::hasTransient(const KWinInternal::Client*, bool) const]
kwin: it:'ID:54526695;WMCLASS:ksirc:ksirc;Caption:ksirc <4>', this: 'ID:54526509;WMCLASS:ksirc:ksirc;Caption:ksirc <3>', cl: 'ID:54525977;WMCLASS:ksirc:ksirc;Caption:ksirc'
kwin:  KWinInternal::Client::hasTransient(const KWinInternal::Client*, bool) const]
kwin: it:'ID:54526509;WMCLASS:ksirc:ksirc;Caption:ksirc <3>', this: 'ID:54526695;WMCLASS:ksirc:ksirc;Caption:ksirc <4>', cl: 'ID:54525977;WMCLASS:ksirc:ksirc;Caption:ksirc'
kwin:  KWinInternal::Client::hasTransient(const KWinInternal::Client*, bool) const]
kwin: it:'ID:54526695;WMCLASS:ksirc:ksirc;Caption:ksirc <4>', this: 'ID:54526509;WMCLASS:ksirc:ksirc;Caption:ksirc <3>', cl: 'ID:54525977;WMCLASS:ksirc:ksirc;Caption:ksirc'

-------------- next part --------------
A non-text attachment was scrubbed...
Name: kwin.diff
Type: text/x-diff
Size: 667 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20031126/e4f1fb92/attachment.diff>


More information about the kde-core-devel mailing list