Summary: | kde 4.4 reaches easily maximum number of X clients | ||
---|---|---|---|
Product: | [Plasma] plasma4 | Reporter: | Davide Rondini <davide.rondini> |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | CC: | aseigo, chgonzalezg, darktears31, diego.ml, rdieter |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
Output of xlsclients when close to the limit
Output of xwininfo -root -children Output of xrestop -b -m 1 |
Description
Davide Rondini
2010-03-12 10:35:10 UTC
Created attachment 41560 [details]
Output of xlsclients when close to the limit
This is the output of the xlsclients when the system has already reached the maximum number of clients, and some windows have been closed: xlsclients connection itself is refused otherwise.
Created attachment 41561 [details]
Output of xwininfo -root -children
Created attachment 41562 [details]
Output of xrestop -b -m 1
QGraphicsProxyWidget only accepts top-level widgets for embedding. Top-level widgets are created as native windows. QGraphicsProxyWidget does nothing to prevent this from happening, an so every QGraphicsProxyWidget results in a client window being created. this is obviously sub-optimal and unnecessary. btw, i wonder why the allowed connection # is so low on your system. 135 is really quite low. Looks like the problem got exposed by a recent Fedora update: http://lists.fedoraproject.org/pipermail/kde/2010-March/006272.html Well, probably the count has to be done not with the output of xlsclients, but with xwininfo -root -children: this reaches up to 255 windows when the system starts refusing connections. As far as I can understand by googling around, 255 is the standard limit used by xorg. In some situations, I can reach the limit with just 7-8 windows truly opened (Kontact, firefox, dolphin, konqueror, kate, virt-manager and kopete), even with desktop effects disabled. I verified it on at least three different machines. xwininfo -root -children shows a number of children saying: (has no name): () 1x1+0+0 +0+0 Maybe they are memory leaks (my guess, anyway). Probably I was wrong relating it with plasma, maybe it is connected to Qt, xorg or something else, but it looks like not to be just a matter of an unoptimized widget. As far as I see, the problem appears in Fedora (and it persists updating to KDE 4.4.1 and xorg 1.7.5.902), so I'll file a bug also there. I've just reconstructed a session reproducing the bug starting some apps which I usually use and tracking the output of commands xlsclients and xwininfo -root -children between every application launch (see attachments). I followed this procedure, with the numbers between parentheses respectively the output of the commands: 1: xlsclients | wc -l 2: xwininfo -root -children | wc -l 0. Boot 1. Login into KDE (this automatically activates yakuake, nm-applet, kopete and kmix) (67/106) 2. Launch kontact (93/146) 3. Launch Firefox (94/157) 4. Launch Dolphin (97/163) 5. Launch Kate (103/171) 6. Launch Okular (106/176) 7. Launch Konqueror When trying to launch Konqueror, the app did not start. Then I tried to launch it from yakuake console, and it started, but at that point the x commands respond: Maximum number of clients reachedxwininfo: unable to open display ':0' The real number of apps opened may vary, but anyway after 7-8 windows the problem appears every time. I've reproduced the bug on three different machines with Fedora 12, both with nvidia proprietary and Intel video drivers. http://bugreports.qt.nokia.com/browse/QTBUG-8034 Reported but not fixed :D. |