Chromium apparently uses too many X windows, overloading the X server and
eventually making it impossible to run new applications.
Trying to start a new app fails with:
$ xwininfo
Maximum number of clients reached xwininfo: unable to open display ':0.0'
Killing one running app allowed me to gather some data:
$ xlsclients |wc -l
37
$ xwininfo -root -children|wc -l
905
$ xwininfo -root -children|grep chromium|wc -l
626
I've made sure that the app I killed had no significant impact on these numbers.
It appears the number of open X windows is 2/3rd due to Chromium, and that it's
the cause for the subsequent impossibility to start any other X application.
(I understand the maximum number of X clients is about 255, so that's not the
issue here).
FWIW, I have only one open Chromium "window" with 15 tabs.
HTH
T-Bone
-- System Information:
Debian Release: 6.0
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages chromium-browser depends on:
ii chromium-br 6.0.472.63~r59945-5+squeeze3 page inspector for the chromium-br
ii libasound2 1.0.23-2.1 shared library for ALSA applicatio
ii libatk1.0-0 1.30.0-1 The ATK accessibility toolkit
ii libbz2-1.0 1.0.5-6 high-quality block-sorting file co
ii libc6 2.11.2-10 Embedded GNU C Library: Shared lib
ii libcairo2 1.8.10-6 The Cairo 2D vector graphics libra
ii libcups2 1.4.4-7 Common UNIX Printing System(tm) -
ii libdbus-1-3 1.2.24-4 simple interprocess messaging syst
ii libdbus-gli 0.88-2.1 simple interprocess messaging syst
ii libevent-1. 1.4.13-stable-1 An asynchronous event notification
ii libexpat1 2.0.1-7 XML parsing C library - runtime li
ii libfontconf 2.8.0-2.1 generic font configuration library
ii libfreetype 2.4.2-2.1 FreeType 2 font engine, shared lib
ii libgcc1 1:4.4.5-8 GCC support library
ii libgconf2-4 2.28.1-6 GNOME configuration database syste
ii libgcrypt11 1.4.5-2 LGPL Crypto library - runtime libr
ii libgl1-mesa 7.7.1-4 A free implementation of the OpenG
ii libglewmx1. 1.5.4-1 The OpenGL Extension Wrangler - ru
ii libglib2.0- 2.24.2-1 The GLib library of C routines
ii libgtk2.0-0 2.20.1-2 The GTK+ graphical user interface
ii libicu44 4.4.1-7 International Components for Unico
ii libjpeg62 6b1-1 The Independent JPEG Group's JPEG
ii libnspr4-0d 4.8.6-1 NetScape Portable Runtime Library
ii libnss3-1d 3.12.8-1 Network Security Service libraries
ii libpango1.0 1.28.3-1+squeeze2 Layout and rendering of internatio
ii libpng12-0 1.2.44-1 PNG library - runtime
ii libstdc++6 4.4.5-8 The GNU Standard C++ Library v3
ii libv8-2.2.2 2.2.24-6 V8 JavaScript Engine
ii libvpx0 0.9.1-2 VP8 video codec (shared library)
ii libx11-6 2:1.3.3-4 X11 client-side library
ii libxext6 2:1.1.2-1 X11 miscellaneous extension librar
ii libxml2 2.7.8.dfsg-2 GNOME XML library
ii libxrender1 1:0.9.6-1 X Rendering Extension client libra
ii libxslt1.1 1.1.26-6 XSLT 1.0 processing library - runt
ii libxss1 1:1.2.0-2 X11 Screen Saver extension library
ii xdg-utils 1.0.2+cvs20100307-2 desktop integration utilities from
ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime
chromium-browser recommends no packages.
Versions of packages chromium-browser suggests:
pn chromium-browser-l10n <none> (no description available)
-- no debconf information
--
To UNSUBSCRIBE, email to debian-bugs-...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Thibaut VARENE wrote:
> $ xlsclients |wc -l
> 37
> $ xwininfo -root -children|wc -l
> 905
> $ xwininfo -root -children|grep chromium|wc -l
> 626
[...]
> FWIW, I have only one open Chromium "window" with 15 tabs.
I smell a leak. Does closing all Chromium windows and starting
Chromium again bring the numbers down to a manageable level?
Thanks for reporting,
Jonathan
Indeed it does
$ xwininfo -root -children|wc -l
274
FWIW, I'm frequently opening new tabs which I'm closing after to never
open back again. Cumulated, all the tabs I've had opened since the
beginning of that previous Chromium session may well have reached
~100+
HTH
--
Thibaut VARENE
http://www.parisc-linux.org/~varenet/
Scratch that. It only does for a while and probably the preview
xwininfo I posted was taken before I restarted Chromium.
Now quitting Chromium, restarting it with auto-restore, immediately
saturate the X server and I can't start any other app. Running
chromium from terminal is very explicit:
$ xwininfo -root -children|wc -l
249
$ chromium-browser
Maximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reached
Maximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reached
*kboom*
HTH
Thibaut VARENE wrote:
> Scratch that. It only does for a while and probably the preview
> xwininfo I posted was taken before I restarted Chromium.
Hmm, in that case I'm not sure how to diagnose this. Can you
reproduce it with "chromium-browser --disable-extensions"?
(A quick web search finds <http://crbug.com/37550>, which is about
the lastpass extension.)
Similarly, it would be interesting to learn whether this is
reproducible with "--user-data-dir=/tmp/temporary-profile".
More output than before:
$ chromium-browser --disable-extensions
Maximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reached
(exe:14852): Gdk-WARNING **: XID collision, trouble ahead
Maximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reached
(exe:14852): Gdk-WARNING **: XID collision, trouble ahead
Maximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reached
(exe:14852): Gdk-WARNING **: XID collision, trouble ahead
Maximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reached
(exe:14852): Gdk-WARNING **: XID collision, trouble ahead
Maximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reached
(exe:14852): Gdk-WARNING **: XID collision, trouble ahead
Maximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reachedMaximum number of clients reachedMaximum number of clients
reached
> (A quick web search finds <http://crbug.com/37550>, which is about
> the lastpass extension.)
>
> Similarly, it would be interesting to learn whether this is
> reproducible with "--user-data-dir=/tmp/temporary-profile".
This starts Chromium totally fresh and indeed "solves" the issue:
$ xwininfo -root -children|wc -l
255
I have to wonder whether this is a consequences of Chromium
"Shift-Ctrl-T" feature that enables to reopen <what number> of
previously closed tabs. If it's somehow keeping track of /all/ the
tabs I've ever opened during my session, and "somehow" correlates this
to a number of X window instances, then it would make sense, though it
would be a major design flaw.
HTH
--
Thibaut VARENE
http://www.parisc-linux.org/~varenet/
--
Thibaut VARENE wrote:
> On Mon, Mar 14, 2011 at 8:14 PM, Jonathan Nieder <jrni...@gmail.com> wrote:
>> Similarly, it would be interesting to learn whether this is
>> reproducible with "--user-data-dir=/tmp/temporary-profile".
>
> This starts Chromium totally fresh and indeed "solves" the issue:
> $ xwininfo -root -children|wc -l
> 255
Now I have a simple reproduction recipe. I can reproduce it with
6.0.472.63~r59945-5+squeeze3 from squeeze, while [1] from experimental
does not reproduce it.
1. chromium-browser --user-data-dir=/tmp/temporary-profile
2. set up things in a sane way. I haven't played around with
this much, but for example for me, "a sane way" includes using
the Gtk theme.
3. xwininfo -root -children | wc -l
4. open a second tab and browse to somewhere.
5. xwininfo -root -children | wc -l
Notice that the count has increased by 1.
6. Close the new tab.
7. xwininfo -root -children | wc -l
Expected result: number of windows decreases by 1.
Actual result:
in squeeze, number of windows stays the same --- the window leaks.
in experimental, number of windows correctly decreases by 1.
Thanks much and hope that helps,
Jonathan
> Now I have a simple reproduction recipe. I can reproduce it with
> 6.0.472.63~r59945-5+squeeze3 from squeeze, while [1] from experimental
> does not reproduce it.
[...]
> Expected result: number of windows decreases by 1.
> Actual result:
> in squeeze, number of windows stays the same --- the window leaks.
> in experimental, number of windows correctly decreases by 1.
>
> Thanks much and hope that helps,
Sure it does.
Hopefully you're not suggesting I should run experimental software on
my stable system? ;-)
I'm gonna hope for a fix backport...
Thx.
--
Thibaut VARENE
http://www.parisc-linux.org/~varenet/
--
Did this happen after the last security update?
Cheers,
Giuseppe.
I can't tell for sure whether the last sec update triggered it, but
I'm not sure either I've experienced this before. And yes, I'm
up-to-date.
HTH
--
Thibaut VARENE
http://www.parisc-linux.org/~varenet/
--
Could you please install the wheezy/testing version and test it? It is
an ancient version without the last security updates.
Cheers,
Giuseppe.
I've installed chromium-browser and chromium-browser-inspector from
wheezy, but since my previous chromium session has eventually been
lost in the crashes, I will not be able to tell if the bug happens
with it before a while.
Yet, I can't make sense of what's happening now:
It must have screwed something up big time, because with *no browser
running*, I cannot start more than one X application with my current
setup (X session which has been running for 12 days), after which I
immediately get the "Maximum clients" message. And I cannot verify how
much clients/windows that is because xwininfo/xlsclient will show the
"max clients" and won't run.
To give some perspective, here's what I have before and after starting xclock:
$ xlsclients |wc -l
33
$ xwininfo -root -children|wc -l
272
$ xclock &
[1] 17388
$ xlsclients |wc -l
Maximum number of clients reachedxlsclients: unable to open display ":0.0"
0
$ xwininfo -root -children|wc -l
Maximum number of clients reachedxwininfo: unable to open display ':0.0'
0
[killing xclock here]
varenet@Kanti:~/new$ xlsclients |wc -l
33
[1]+ Done xclock
varenet@Kanti:~/new$ xwininfo -root -children|wc -l
272
I suppose I'll have to restart X pretty soon, my system is now mostly
unusable...
Hi,
Giuseppe Iuculano wrote:
> Did this happen after the last security update?
No, I think it seems it's older than that.