Bug 609020

Summary: subprocess fails in select when descriptors are large
Product: Red Hat Enterprise Linux 5 Reporter: Moran Goldboim <mgoldboi>
Component: pythonAssignee: Dave Malcolm <dmalcolm>
Status: CLOSED ERRATA QA Contact: Petr Šplíchal <psplicha>
Severity: medium Docs Contact:
Priority: high    
Version: 5.5CC: abaron, cpelland, danken, ddumas, dgregor, dmalcolm, iheim, katzj, ohudlick, plyons, psplicha, tao
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Prior to Python 2.7, programs that used "ulimit -n" to enable communication with large numbers of subprocesses could still monitor only 1024 subprocess file descriptors at a time, which caused an exception: ValueError: filedescriptor out of range in select() This was due to the subprocess module using the "select" system call. The module now uses the "poll" system call, removing this limitation.
Story Points: ---
Clone Of:
: 650588 (view as bug list) Environment:
Last Closed: 2011-01-13 23:10:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 630832, 650588    

Description Moran Goldboim 2010-06-29 08:25:05 UTC
Description of problem:
since python had a leak (https://bugzilla.redhat.com/show_bug.cgi?id=609017), VDSM was using high filedescriptors, that may be too high for select(). as described in http://bugs.python.org/issue3392

Version-Release number of selected component (if applicable):
python-2.4.3-27.el5

Comment 21 Eva Kopalova 2010-12-20 10:19:39 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Prior to Python 2.7, programs that used "ulimit -n" to enable communication with large numbers of subprocesses could still monitor only 1024 file descriptors at a time, which caused an exception:

  ValueError: filedescriptor out of range in select()

This was due to the subprocess module using the "select" system call.  The module now uses the "poll" system call, removing this limitation.

Comment 23 Dave Malcolm 2010-12-20 18:05:56 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,4 +1,4 @@
-Prior to Python 2.7, programs that used "ulimit -n" to enable communication with large numbers of subprocesses could still monitor only 1024 file descriptors at a time, which caused an exception:
+Prior to Python 2.7, programs that used "ulimit -n" to enable communication with large numbers of subprocesses could still monitor only 1024 subprocess file descriptors at a time, which caused an exception:
 
   ValueError: filedescriptor out of range in select()

Comment 25 errata-xmlrpc 2011-01-13 23:10:14 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0027.html