[issue5661] asyncore should catch EPIPE while sending() and receiving()

2011-10-29 Thread Roundup Robot
Roundup Robot devn...@psf.upfronthosting.co.za added the comment: New changeset bf1c4984d4e5 by Charles-François Natali in branch 'default': Issue #5661: Add a test for ECONNRESET/EPIPE handling to test_asyncore. Patch http://hg.python.org/cpython/rev/bf1c4984d4e5 -- nosy: +python-dev

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2011-10-29 Thread Charles-François Natali
Charles-François Natali neolo...@free.fr added the comment: The test fails on OS X: == ERROR: test_handle_close_after_conn_broken (test.test_asyncore.TestAPI_UseIPv4Poll)

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2011-10-29 Thread Roundup Robot
Roundup Robot devn...@psf.upfronthosting.co.za added the comment: New changeset 507dfb0ceb3b by Charles-François Natali in branch 'default': Issue #5661: on EPIPE/ECONNRESET, OS X returns the FD with the POLLPRI flag... http://hg.python.org/cpython/rev/507dfb0ceb3b --

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2011-10-29 Thread Xavier de Gaye
Xavier de Gaye xdeg...@gmail.com added the comment: The test fails when use_poll is True. The difference between using poll() and poll2(): poll: All the read events are processed before the write events, so the close after the first recv by TestHandler will be followed by a send by

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2011-10-29 Thread Charles-François Natali
Charles-François Natali neolo...@free.fr added the comment: The test fails when use_poll is True. The difference between using poll() and poll2(): poll uses select(2), while poll2 uses poll(2) (duh, that's confusing). It seems that on OS X Snow Leopard, poll(2) sets the POLLPRI flag upon

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2011-10-28 Thread Charles-François Natali
Charles-François Natali neolo...@free.fr added the comment: Did you try with the current branches? Yes, the test is pass against the current default and 2.7 branches. One must remove EPIPE from the asyncore._DISCONNECTED frozenset to make the test to fail. OK. Then I'll add this test to

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2011-10-27 Thread Xavier de Gaye
Xavier de Gaye xdeg...@gmail.com added the comment: Uploaded the patch 'epipe-default.patch' with a test case that breaks on linux when EPIPE is not handled by asyncore, which is the case with Python 3.2 and previous versions. -- Added file:

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2011-10-27 Thread Xavier de Gaye
Xavier de Gaye xdeg...@gmail.com added the comment: Uploaded the same test case for Python 2.7. -- Added file: http://bugs.python.org/file23534/epipe-2.7.patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5661

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2011-10-27 Thread STINNER Victor
Changes by STINNER Victor victor.stin...@haypocalc.com: -- nosy: +haypo ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue5661 ___ ___

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2011-10-27 Thread Charles-François Natali
Charles-François Natali neolo...@free.fr added the comment: Did you try with the current branches? AFAICT, this should have been solved by 208a5290fd38 (issue #11265), and I did a quick test with default and it seems to be fixed. In any case, it's probably a good idea to add this test to

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2011-10-27 Thread Xavier de Gaye
Xavier de Gaye xdeg...@gmail.com added the comment: Did you try with the current branches? Yes, the test is pass against the current default and 2.7 branches. One must remove EPIPE from the asyncore._DISCONNECTED frozenset to make the test to fail. Yes, see RFC1122 section 4.2.2.13:

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2011-10-26 Thread Xavier de Gaye
Xavier de Gaye xdeg...@gmail.com added the comment: I am not marking 'test needed' since the problem is 'hardly reproducible'. The attached script named 'asyncore_epipe.py' may be used to reproduce systematically the EPIPE error on linux with Python 3.2: * the Reader closes the socket

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2011-06-26 Thread Terry J. Reedy
Terry J. Reedy tjre...@udel.edu added the comment: I am not marking 'test needed' since the problem is 'hardly reproducible'. -- nosy: +stutzbach, terry.reedy -josiah.carlson stage: - patch review versions: +Python 3.2, Python 3.3 -Python 2.6, Python 3.0, Python 3.1

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2009-04-01 Thread Giampaolo Rodola'
New submission from Giampaolo Rodola' billiej...@users.sourceforge.net: I received a report from a pyftpdlib user: http://code.google.com/p/pyftpdlib/issues/detail?id=104 ...complaining that an unhandled EPIPE error might be thrown by asyncore.py on OS X in certain circumstances which are hardly

[issue5661] asyncore should catch EPIPE while sending() and receiving()

2009-04-01 Thread Josiah Carlson
Josiah Carlson josiahcarl...@users.sourceforge.net added the comment: I think that catching one more potential failure modes is reasonable. I'm probably going to apply a variant of this patch to pull the sequence into a frozenset for quick lookups, and so that we don't need to keep updating