[issue10826] pass_fds sometimes fails

Antoine Pitrou report at bugs.python.org
Tue Jan 25 23:51:24 CET 2011


Antoine Pitrou <pitrou at free.fr> added the comment:

I managed to get further debug info from the OpenIndiana buildbot:

 -- maxfd = 65536
 -- fds that should have been closed: {5, 6, 7, 8, 9, 10, 11, 12, 13}
 -- fds that remained open: {0, 1, 2, 3, 5}
 -- debug info:
0 2 posix.stat_result(st_mode=4096, st_ino=38002789, st_dev=142868480, st_nlink=0, st_uid=101, st_gid=101, st_size=0, st_atime=1295994652, st_mtime=1295994652, st_ctime=1295994652)
1 2 posix.stat_result(st_mode=4096, st_ino=38019207, st_dev=142868480, st_nlink=0, st_uid=101, st_gid=101, st_size=0, st_atime=1295994988, st_mtime=1295994988, st_ctime=1295994988)
2 2 posix.stat_result(st_mode=4096, st_ino=38002791, st_dev=142868480, st_nlink=0, st_uid=101, st_gid=101, st_size=0, st_atime=1295994987, st_mtime=1295994987, st_ctime=1295994987)
3 2 posix.stat_result(st_mode=4096, st_ino=38019202, st_dev=142868480, st_nlink=0, st_uid=101, st_gid=101, st_size=0, st_atime=1295994988, st_mtime=1295994988, st_ctime=1295994988)
5 8192 posix.stat_result(st_mode=53540, st_ino=210, st_dev=146014208, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1290335283, st_mtime=1290335283, st_ctime=1290335283)
total 2
dr-x------ 2 buildbot buildbot 528 Jan 25 22:36 .
dr-x--x--x 5 buildbot buildbot 864 Jan 25 22:36 ..
p--------- 0 buildbot buildbot   0 Jan 25 22:30 0
p--------- 0 buildbot buildbot   0 Jan 25 22:36 1
p--------- 0 buildbot buildbot   0 Jan 25 22:36 2
p--------- 0 buildbot buildbot   0 Jan 25 22:36 3
D--------- 1 root     root       0 Nov 21 10:28 5
  File: `/proc/22816/fd/5'
  Size: 0         	Blocks: 0          IO Block: 0      weird file
Device: 8b40000h/146014208d	Inode: 210         Links: 1
Access: (0000/D---------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2010-11-21 10:28:03.659679536 +0000
Modify: 2010-11-21 10:28:03.659679536 +0000
Change: 2010-11-21 10:28:03.659679536 +0000


So, the offending fd (5) points to a "weird file" (!!) created in November 2010... It definitely can't be the same file as pointed to by fd 5 in the parent process, since that is a standard anonymous pipe. This reinforces the idea that starting up the child Python interpreter sometimes creates that fd and doesn't close it.

Also, while the sparc solaris buildbot doesn't have the "stat" command, it still displays the following debug output:

total 4
dr-x------   2 buildbot other        528 Jan 25 23:58 .
dr-x--x--x   5 buildbot other        832 Jan 25 23:58 ..
c---------   1 buildbot tty       24,  2 Jan 25 23:58 0
p---------   0 buildbot other          0 Jan 25 23:58 1
c---------   1 buildbot tty       24,  2 Jan 25 23:58 2
p---------   0 buildbot other          0 Jan 25 23:58 3
D---------   1 root     root           0 Mar 27  2010 5

... where fd number 5 seems to be the same kind of "weird file" created by root a long time ago. Martin, does that date (Mar 27 2010) ring a bell? Is it when the system was installed? When the buildslave was started?

----------
nosy: +loewis

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue10826>
_______________________________________


More information about the Python-bugs-list mailing list