Bug 609020 - subprocess fails in select when descriptors are large
Summary: subprocess fails in select when descriptors are large
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: python
Version: 5.5
Hardware: All
OS: Linux
high
medium
Target Milestone: rc
: ---
Assignee: Dave Malcolm
QA Contact: Petr Šplíchal
URL:
Whiteboard:
Depends On:
Blocks: 630832 650588
TreeView+ depends on / blocked
 
Reported: 2010-06-29 08:25 UTC by Moran Goldboim
Modified: 2018-10-27 13:13 UTC (History)
12 users (show)

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.
Clone Of:
: 650588 (view as bug list)
Environment:
Last Closed: 2011-01-13 23:10:14 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:0027 normal SHIPPED_LIVE Low: python security, bug fix, and enhancement update 2011-01-13 10:58:29 UTC

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


Note You need to log in before you can comment on or make changes to this bug.