[Python-Dev] Py3k and asyncore/asynchat

Neal Norwitz nnorwitz at gmail.com
Wed Mar 26 05:00:18 CET 2008


On Thu, Feb 14, 2008 at 10:09 AM, Giampaolo Rodola' <gnewsg at gmail.com> wrote:
> On 14 Feb, 16:36, "Giampaolo Rodola'" <gne... at gmail.com> wrote:
>  > Ok, I'll try to take a look at all asyncore/chat reports and try to
>  > summarize them by splitting patches which solve bugs and patches which
>  > add enhancements or functionalities.
>
>  === Patches for existing issues ===
>
>  - 1736190 which includes fixes for the following issues among other
>  improvements:
>   - 1063924 (asyncore should handle ECONNRESET in send())
>   - 1736101 (asyncore should handle ECONNABORTED in recv())
>   - 760475 (handle_error() should call handle_close() instead of
>  close())
>   - 1740572 (refill_buffer() should call handle_close() rather than
>  close())
>   - 777588 (wrong "connection refused" behavior on Windows)
>   - 889153 (wrong connect() behavior)
>   - 953599 (asyncore misses socket closes when poll is used)
>   - 1025525 (asyncore.file_dispatcher should not take fd as argument)
>
>  - 1519 (async_chat.__init__() and asyncore.dispatcher.__init__
>  parameters inconsistency)
>  - 1541 (Bad OOB data management when using asyncore with
>  select.poll())
>  - 2073 (asynchat push always sends 512 bytes (ignoring
>  ac_out_buffer_size))
>
>
>  === Open issues with no patches (need review) ===
>
>  - 658749 (asyncore connect() and winsock errors)
>  - 1161031 (neverending warnings from asyncore)
>
>
>  === Enhancements & new features ===
>
>  - 1641 (add delayed calls feature)
>  - 1563 (conversion to py3k and some other changes)

That's a lot of patches.  My immediate concern is that test_asynchat
is very flaky and fails often.  Sometimes it causes other tests to
fail.  Is there a patch that addresses this?  If you need examples,
just look through the buildbot mails that mention test_asynchat in:
http://mail.python.org/pipermail/python-checkins/

Some platforms have more problems than others, but almost all
platforms have failed test_asynchat at one point or another.

Please break up the patches into 2 sets and prioritize the patches
with the set.

  Set #1:  Patches that have a test and doc updates if required
  Set #2:  Patches that don't have a test or doc updates as required

For the patches that fall into Set #1, list them in priority order.
Top priority would be a problem that fixes failures seen in the
buildbots.  Next priority would go to the patches that solve more
serious problems.  Post the results here. I will try to look at them.

For every patch you list, make sure that it conforms to the proper
style (e.g, PEP 8) and is essentially perfect and ready for inclusion.
 This means that there is a single file to download that contains all
the modifications. The changes are appropriately commented, lines are
less than 80 characters, etc.  One of the modifications should be an
entry in Misc/NEWS.

n


More information about the Python-Dev mailing list