tornado 2.1.0 incompatible with python 3.2.3

Bug #998615 reported by Ben Darnell
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python-tornado (Ubuntu)
Fix Released
Undecided
Unassigned
Precise
Won't Fix
Undecided
Unassigned

Bug Description

Ubuntu 12.04 ships with tornado 2.1.0 and python 3.2.3, which is an incompatible combination (tornado 2.1 works with python 3.2.2, but the .3 release breaks things). Tornado 2.2.1 was the first release to include support for Python 3.2.3. If you want to backport the fix to tornado 2.1, the patch is:
https://github.com/facebook/tornado/commit/b151a1ee967
I would also encourage you to at least move to 2.1.1, which fixed some bugs with 2.1.0.

You can verify the installation with "python3 -m tornado.test.runtests".

FYI, I'm the upstream author of tornado. This is also an issue in debian testing, although python3-tornado is not in any stable debian release yet.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: python3-tornado 2.1.0-2
ProcVersionSignature: Ubuntu 3.2.0-23.36-generic 3.2.14
Uname: Linux 3.2.0-23-generic x86_64
ApportVersion: 2.0.1-0ubuntu7
Architecture: amd64
Date: Sun May 13 04:27:21 2012
InstallationMedia: Ubuntu-Server 12.04 LTS "Precise Pangolin" - Release amd64 (20120424.1)
PackageArchitecture: all
ProcEnviron:
 LANGUAGE=en_US:
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=en_US.utf8
 SHELL=/bin/bash
SourcePackage: python-tornado
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Ben Darnell (ben-darnell) wrote :
Revision history for this message
Julian Taylor (jtaylor) wrote :

thanks for bringing that to our attention.
If you can provide some testcases we could update to 2.1.1

though the backward incompatibility is problematic:
Backwards-compatibility note
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Listening for ``IOLoop.ERROR`` alone is no longer sufficient for detecting
  closed connections on an otherwise unused socket. ``IOLoop.ERROR`` must
  always be used in combination with ``READ`` or ``WRITE``.

Is it possible to avoid this? if not how severe is the bug fixed by this?

Revision history for this message
Ben Darnell (ben-darnell) wrote :

The test cases are included in the distribution and can be run with "python3 -m tornado.test.runtests" (this particular error relates to the colored output of the test runner rather than any tests per se, and so may be dependent on the value of $TERM).

The fix for this issue is in 2.2.1, not 2.1.1, which is a little scarier from a backwards-compatibility perspective. But now that you mention it, I'd recommend 2.1.1 as well. The IOLoop.ERROR concern that you mention was necessary to fix this issue.

* Fixed handling of closed connections with the ``epoll`` (i.e. Linux)
  ``IOLoop``. Previously, closed connections could be shut down too early,
  which most often manifested as "Stream is closed" exceptions in
  ``SimpleAsyncHTTPClient``.

I don't know of anyone who was actually broken by this change, but I called it out in the release notes as a possible concern. The "Stream is closed" errors were much more common.

Revision history for this message
Julian Taylor (jtaylor) wrote :

the python3 fix can be backported from 2.2.1
backporting 2.2.1 in whole in an stable update is out of the question, though it may be a candidate for -backports when its available in quantal.
while the bugs fixed in 2.1.1 look fix worthy there have not been any bug reports in debian or ubuntu yet, I'm not sure if updating is wise with the backward incompatible change.
Subscribing ubuntu-sru for opinions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package python-tornado - 2.3-2

---------------
python-tornado (2.3-2) unstable; urgency=low

  * debian/control
    - Replaced the python3.2 in the Depends field of python3-tornado
      by $(python3:Depends)
  * Renamed python-tornado.examples to examples
  * Removed python3-tornado.examples

 -- Carl Chenet <email address hidden> Sun, 10 Jun 2012 01:26:50 +0200

Changed in python-tornado (Ubuntu):
status: New → Fix Released
Revision history for this message
Steve Langasek (vorlon) wrote :

The Precise Pangolin has reached end of life, so this bug will not be fixed for that release

Changed in python-tornado (Ubuntu Precise):
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.