Ken Giusti created QPID-5588:
--------------------------------
Summary: Python client fails if socket fd > FD_SETSIZE
Key: QPID-5588
URL: https://issues.apache.org/jira/browse/QPID-5588
Project: Qpid
Issue Type: Bug
Components: Python Client
Affects Versions: 0.26, 0.27
Reporter: Ken Giusti
Assignee: Ken Giusti
Fix For: Future
The python client uses select() to wait for socket activity. select() is used
because it is available on most platforms. However, select() has a hard limit
on the _value_ of an file descriptor. If a socket is created that has a file
descriptor > the value of FD_SETSIZE, the following exception is thrown:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib64/python2.4/threading.py", line 442, in __bootstrap
self.run()
File "/usr/lib64/python2.4/threading.py", line 422, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/lib/python2.4/site-packages/qpid/selector.py", line 119, in run
rd, wr, ex = select(self.reading, self.writing, (), timeout)
ValueError: filedescriptor out of range in select()
Note well: this is caused by the _value_ of the fd, not the number of open fds.
A process that has many files open, then attempts to create a qpid connection,
could hit this problem.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]