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
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)
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
--
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
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
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
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:
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
Changes by STINNER Victor victor.stin...@haypocalc.com:
--
nosy: +haypo
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue5661
___
___
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
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:
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
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
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
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
15 matches
Mail list logo