Comment 38 for bug 58171

Revision history for this message
borjasotomayor (borjasotomayor) wrote :

I am observing the same problem on a 64bit Intrepid (this problem didn't show up with beta; it started when I updated to the final release of Interpid). Trying to start any X program (gedit, firefox, etc.) from the terminal hangs. strace reveals the following:

socket(PF_FILE, SOCK_STREAM, 0) = 6
uname({sys="Linux", node="castafiore", ...}) = 0
connect(6, {sa_family=AF_FILE, path="/tmp/.ICE-unix/8605"}, 21) = 0
fcntl(6, F_SETFD, FD_CLOEXEC) = 0
write(6, "\0\1\0\0\0\0\0\0", 8) = 8
read(6, <hangs... >

/tmp/.ICE-unix/8605 does exist, and process 8605 is x-session manager. When doing strace -r into x-session manager, I observe this message over and over again:

     0.000027 poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=10, events=POLLIN}, {fd=14, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN|POLLPRI}, {fd=18, events=POLLIN|POLLPRI}, {fd=22, events=POLLIN}, {fd=23, events=POLLIN}, {fd=24, events=POLLIN}, {fd=26, events=POLLIN}, {fd=28, events=POLLIN}, {fd=27, events=POLLIN}, {fd=31, events=POLLIN}, {fd=32, events=POLLIN}, {fd=33, events=POLLIN}, {fd=35, events=POLLIN}, {fd=8, events=POLLIN}, {fd=9, events=POLLIN, revents=POLLIN}], 19, -1) = 1
     0.000057 accept(9, 0x7fffba932f20, [4294967406]) = -1 EMFILE (Too many open files)
     0.000027 write(2, "_IceTrans", 9) = 9
     0.000031 write(2, "SocketUNIXAccept: accept() faile"..., 34) = 34
     0.000036 read(3, 0x119a6e4, 4096) = -1 EAGAIN (Resource temporarily unavailable)

Number of open files:

$ lsof -n | grep /tmp/.ICE-unix/8605 | wc --lines
1003

$ lsof -n | grep "x-session 8605" | wc --lines
1100

~$ lsof -n | grep "x-session 8605" | tail
x-session 8605 borja 1014u unix 0xffff880013808580 2934726457 /tmp/.ICE-unix/8605
x-session 8605 borja 1015u unix 0xffff8800138f9340 2934726532 /tmp/.ICE-unix/8605
x-session 8605 borja 1016u unix 0xffff8800138f9e40 2934726626 /tmp/.ICE-unix/8605
x-session 8605 borja 1017u unix 0xffff8800138fa100 2934726701 /tmp/.ICE-unix/8605
x-session 8605 borja 1018u unix 0xffff8800138fa680 2934726801 /tmp/.ICE-unix/8605
x-session 8605 borja 1019u unix 0xffff8800138fac00 2934726876 /tmp/.ICE-unix/8605
x-session 8605 borja 1020u unix 0xffff8800138fb180 2934726968 /tmp/.ICE-unix/8605
x-session 8605 borja 1021u unix 0xffff8800138f98c0 2934727043 /tmp/.ICE-unix/8605
x-session 8605 borja 1022u unix 0xffff880013d34840 2934727135 /tmp/.ICE-unix/8605
x-session 8605 borja 1023u unix 0xffff8800138f8000 2934727210 /tmp/.ICE-unix/8605

The only solution I have been able to find is to restart the X server. After doing this, it will work ok for a while, and after a couple of hours I will be unable to start any new X programs.