[MacPorts] #18376: Remedy socket 35 errors on all Python builds
#18376: Remedy socket 35 errors on all Python builds -----------------------------+---------------------------------------------- Reporter: ben@… | Owner: macports-tickets@… Type: defect | Status: new Priority: High | Milestone: Port Bugs Component: ports | Version: 1.7.0 Keywords: python, socket | Port: -----------------------------+---------------------------------------------- OSX's poll is broken. Apple knows this, and removes the HAVE_POLL option as can be seen in the first line of the pyconfig patch here: http://www.opensource.apple.com/darwinsource/10.5.6/python-30.1.2/fix/pyconf... This patch should be applied to all Python builds that MacPorts supports, as it fixes a nasty bug that is being mis-reported all over the place on OSX. Here's one such example of a traceback caused by it: {{{ File "../uploader.py", line 94, in <module> resp, data = http.request(post_uri, 'POST', body=content, headers=headers) File "build/bdist.macosx-10.5-i386/egg/httplib2/__init__.py", line 1050, in request File "build/bdist.macosx-10.5-i386/egg/httplib2/__init__.py", line 854, in _request File "build/bdist.macosx-10.5-i386/egg/httplib2/__init__.py", line 823, in _conn_request File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py", line 874, in request self._send_request(method, url, body, headers) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py", line 914, in _send_request self.send(body) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/httplib.py", line 719, in send self.sock.sendall(str) File "<string>", line 1, in sendall socket.error: [Errno 35] Resource temporarily unavailable }}} And another report caused by the same problem: http://www.cherrypy.org/ticket/598 Applying the same regexp that Apple does, fixes the problem in my tests. Credit for finding this bug and its solution should be attributed to Phil Jenvey, I merely bugged him until he found the problem for me. :) -- Ticket URL: <http://trac.macports.org/ticket/18376> MacPorts <http://www.macports.org/> Ports system for Mac OS
#18376: Remedy socket 35 errors on all Python builds -----------------------------+---------------------------------------------- Reporter: ben@… | Owner: macports-tickets@… Type: defect | Status: new Priority: High | Milestone: Port Bugs Component: ports | Version: 1.7.0 Keywords: python, socket | Port: -----------------------------+---------------------------------------------- Comment(by ben@…): This should be clarified, its not 'broken' per se, but merely returns an EAGAIN error rather frequently causing the socket issue, which very very rarely occurs on other platforms. This causes a decent amount of Python code, including httplib2, to throw up the socket 35 error. -- Ticket URL: <http://trac.macports.org/ticket/18376#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#18376: Remedy socket 35 errors on all Python builds -----------------------------+---------------------------------------------- Reporter: ben@… | Owner: macports-tickets@… Type: defect | Status: new Priority: High | Milestone: Port Bugs Component: ports | Version: 1.7.0 Keywords: python, socket | Port: -----------------------------+---------------------------------------------- Changes (by jmr@…): * cc: blb@…, mww@… (added) -- Ticket URL: <http://trac.macports.org/ticket/18376#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#18376: Remedy socket 35 errors on all Python builds -----------------------------+---------------------------------------------- Reporter: ben@… | Owner: macports-tickets@… Type: defect | Status: new Priority: High | Milestone: Port Bugs Component: ports | Version: 1.7.0 Keywords: python, socket | Port: python24 python25 python26 python30 -----------------------------+---------------------------------------------- Changes (by blb@…): * port: => python24 python25 python26 python30 Comment: python26 fixed in r48182. -- Ticket URL: <http://trac.macports.org/ticket/18376#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#18376: Remedy socket 35 errors on all Python builds -----------------------------+---------------------------------------------- Reporter: ben@… | Owner: macports-tickets@… Type: defect | Status: new Priority: High | Milestone: Port Bugs Component: ports | Version: 1.7.0 Keywords: python, socket | Port: python24 python25 python26 python30 -----------------------------+---------------------------------------------- Comment(by blb@…): python24 fixed in r48185. -- Ticket URL: <http://trac.macports.org/ticket/18376#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#18376: Remedy socket 35 errors on all Python builds -----------------------------+---------------------------------------------- Reporter: ben@… | Owner: macports-tickets@… Type: defect | Status: new Priority: High | Milestone: Port Bugs Component: ports | Version: 1.7.0 Keywords: python, socket | Port: python24 python25 python26 python30 -----------------------------+---------------------------------------------- Comment(by blb@…): python30 fixed in r48187. -- Ticket URL: <http://trac.macports.org/ticket/18376#comment:7> MacPorts <http://www.macports.org/> Ports system for Mac OS
#18376: Remedy socket 35 errors on all Python builds --------------------------------------------------+------------------------- Reporter: ben@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.7.0 Resolution: fixed | Keywords: python, socket Port: python24 python25 python26 python30 | --------------------------------------------------+------------------------- Changes (by jmr@…): * status: new => closed * resolution: => fixed Comment: Applied to python25 in r60380. -- Ticket URL: <http://trac.macports.org/ticket/18376#comment:11> MacPorts <http://www.macports.org/> Ports system for Mac OS
#18376: Remedy socket 35 errors on all Python builds -------------------------------------------------+------------------------- Reporter: ben@… | Owner: macports- Type: defect | tickets@… Priority: Normal | Status: closed Component: ports | Milestone: Resolution: fixed | Version: 1.7.0 Port: python24 python25 python26 | Keywords: python, python30 | socket -------------------------------------------------+------------------------- Comment (by egall@…): Out of curiosity, could depending on the port [https://svn.macports.org/repository/macports/trunk/dports/devel/poll- emulator/Portfile poll-emulator] and using its poll implementation instead be another way of getting around this issue? -- Ticket URL: <https://trac.macports.org/ticket/18376#comment:13> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts