Recently I've been getting a lot of "maximum number of x clients reached" errors. On my computer I run two X servers. I switch between them pretty regularly with crtl+alt+f1/f2. I've been trying to figure out why I keep getting this error. xlsclients only lists 12 items, xrestop doesn't show much more. As of this writing I'm currently getting this error and cannot open any more processes. `lsof -U` lists 203 items (mostly chromium, but I don't think that's the problem here), but `sudo ls /proc/2541/fd` has 259 items (2541 is the pid of Xorg.bin.) Now here's the thing, if I switch between my two x servers with ctrl+alt+f1/f2 (this works even if tty2 is a framebuffer) the number of items in /proc/2541/fd increases by one. Indeed if I run `sudo ls -p 2541` there's a new entry, /dev/dri/card0 I think that every time I switch, X re-opens my graphics card, but never closes the old connection. the number of items lsof -U doesn't change when I do this, so none of my programs are to blame, this is just X. Because there are a lot of old connections floating around, I'm guessing the number of clients X can have is severely limited. I think this is why I'm getting these errors. Not sure if this is a DRI extension error, saw the dri in /dev/dri/card0 and assumed. I just updated three days ago too. Still have this problem. ~$ Xorg.bin -version X.Org X Server 1.16.2 Release Date: 2014-11-10 X Protocol Version 11, Revision 0 Build Operating System: Linux 3.17.2-1-ARCH x86_64 Current Operating System: Linux blackle-thinkpad 3.17.3-3-ck #1 SMP PREEMPT Tue Nov 18 16:50:56 EST 2014 x86_64 Kernel command line: BOOT_IMAGE=/boot/vmlinuz-linux-ck root=UUID=65d91862-d03e-4b93-b52c-6dae55b39a97 ro nox2apic rcutree.rcu_idle_gp_delay=1 init=/usr/lib/systemd/systemd Build Date: 10 November 2014 07:52:13PM Current version of pixman: 0.32.6 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version.
Hi, I can confirm that issue is still present in 2016: I'm running archlinux with the latest xorg. Steps to reproduce: 1. Start X server (via a display manager or xinitrc it doesn't matter). 2. Login to another tty. 3. Switch between them and use 'lsof -p ($pidof Xorg) | wc -l to monitor. Each time, the number will increase, till it reaches the limit and even above (I got 702 last time), and start throwing 'maximum number of clients reached' errors.
Please attach the Xorg log file corresponding to the problem.
Created attachment 122274 [details] Xorg log file
Created attachment 122275 [details] outpout of lsof command
Hi, here's the output of 'lsof -p $(pidof Xorg)' and my xorg0.log files. I hope this will be useful :) If you want other files, just tell me and I'll attach them too. Thanks
diff --git a/hw/xfree86/os-support/linux/systemd-logind.c b/hw/xfree86/os-support/linux/systemd-logind.c index 13784d1..9f196ef 100644 --- a/hw/xfree86/os-support/linux/systemd-logind.c +++ b/hw/xfree86/os-support/linux/systemd-logind.c @@ -417,9 +417,10 @@ message_filter(DBusConnection * connection, DBusMessage * message, void *data) /* info->vt_active gets set by systemd_logind_vtenter() */ info->active = TRUE; - if (pdev) + if (pdev) { + close(fd); pdev->flags &= ~XF86_PDEV_PAUSED; - else + } else systemd_logind_set_input_fd_for_all_devs(major, minor, fd, info->vt_active);
Calling comment #6 a "patch" is a bit generous, but.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/xserver/issues/204.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.