Discussion:
[Twisted-Python] PotentialZombieWarning warning message?
pisymbol .
2015-12-14 14:52:57 UTC
Permalink
Hi:

I'd like to adopt Twisted for a current project I'm coding up. I'm on
CentOS 6.7 x86-64 using python v2.6 and the stock
python-twisted-8.2.0-3.1 package built for this release.

No matter what I do when trying to implement the Process protocol or
use utils.getProcessOutput() directly, I always see the following
warning message on the console:

/usr/lib64/python2.6/site-packages/twisted/internet/utils.py:25:
PotentialZombieWarning: spawnProcess called, but the SIGCHLD handler
is not installed. This probably means you have not yet called
reactor.run, or called reactor.run(installSignalHandler=0). You will
probably never see this process finish, and it may become a zombie
process.
reactor.spawnProcess(p, executable, (executable,)+tuple(args), env, path)
...

Is there anyway to get rid of this message? I realize I'm using an
older release of twisted but I can't upgrade to the latest without
incurring the cost of installing an python v2.7 or greater.

My script is literally:

d = utils.getProcessOutput('/bin/ls')
d.addCallbacks(writeResponse, noResponse)
reactor.run()

etc.

What am I doing wrong?

-aps
Amber "Hawkie" Brown
2015-12-14 15:09:49 UTC
Permalink
Post by pisymbol .
I'd like to adopt Twisted for a current project I'm coding up. I'm on
CentOS 6.7 x86-64 using python v2.6 and the stock
python-twisted-8.2.0-3.1 package built for this release.
...
Post by pisymbol .
Is there anyway to get rid of this message? I realize I'm using an
older release of twisted but I can't upgrade to the latest without
incurring the cost of installing an python v2.7 or greater.
Hi,

Python 2.6 has been EOL for years and Twisted 8.2.0 is nearly seven years old. We can't really help with things that old (many, many issues have since been fixed, so remembering what's a bug that's been squashed and what's a platform bug is nearly impossible), but upgrading to Twisted 15.4 (the last release with Python 2.6 support, and only 4 or so months old) may help.

- Amber
pisymbol .
2015-12-14 20:38:02 UTC
Permalink
On Mon, Dec 14, 2015 at 10:09 AM, Amber "Hawkie" Brown
Post by Amber "Hawkie" Brown
Post by pisymbol .
I'd like to adopt Twisted for a current project I'm coding up. I'm on
CentOS 6.7 x86-64 using python v2.6 and the stock
python-twisted-8.2.0-3.1 package built for this release.
...
Post by pisymbol .
Is there anyway to get rid of this message? I realize I'm using an
older release of twisted but I can't upgrade to the latest without
incurring the cost of installing an python v2.7 or greater.
Hi,
Python 2.6 has been EOL for years and Twisted 8.2.0 is nearly seven years old. We can't really help with things that old (many, many issues have since been fixed, so remembering what's a bug that's been squashed and what's a platform bug is nearly impossible), but upgrading to Twisted 15.4 (the last release with Python 2.6 support, and only 4 or so months old) may help.
That maybe, but CentOS 6.7 is the latest 6.x release which ships with
8.2.x (somebody maintaining the RHEL 6.x series should update these
packages then).

I did a pip install and it said I needed Python 2.7 or higher. Let me
reevaluate if I can just update twisted.

Thanks!

-aps
Glyph Lefkowitz
2015-12-14 21:51:23 UTC
Permalink
Post by pisymbol .
On Mon, Dec 14, 2015 at 10:09 AM, Amber "Hawkie" Brown
Post by Amber "Hawkie" Brown
Post by pisymbol .
I'd like to adopt Twisted for a current project I'm coding up. I'm on
CentOS 6.7 x86-64 using python v2.6 and the stock
python-twisted-8.2.0-3.1 package built for this release.
...
Post by pisymbol .
Is there anyway to get rid of this message? I realize I'm using an
older release of twisted but I can't upgrade to the latest without
incurring the cost of installing an python v2.7 or greater.
Hi,
Python 2.6 has been EOL for years and Twisted 8.2.0 is nearly seven years old. We can't really help with things that old (many, many issues have since been fixed, so remembering what's a bug that's been squashed and what's a platform bug is nearly impossible), but upgrading to Twisted 15.4 (the last release with Python 2.6 support, and only 4 or so months old) may help.
That maybe, but CentOS 6.7 is the latest 6.x release which ships with
8.2.x (somebody maintaining the RHEL 6.x series should update these
packages then).
I did a pip install and it said I needed Python 2.7 or higher. Let me
reevaluate if I can just update twisted.
Try `pip install twisted==15.4ÂŽ if you still require Python2.6 support; `pip install twistedÂŽ will install the latest, which no longer works on 2.6.

But again: Python 2.6 is unsupported by the upstream Python developers. You really should not be using it, since it won't receive security updates (of course, Red Hat and transitively CentOS claim to "support" these packages, but if upstream is refusing patches at this point, it's not clear where that support will come from). This is why we changed our policy to proactively disable it: it's a security risk and we would like to put pressure on downstreams (such as yourself) to stop taking on this risk without realizing it.

If you must use CentOS 6, then I'd recommend installing PyPy 4.0 from https://github.com/squeaky-pl/portable-pypy#portable-pypy-distribution-for-linux <https://github.com/squeaky-pl/portable-pypy#portable-pypy-distribution-for-linux> and using that. In addition to being security-supported, it will also make your python code run 10x faster :).

-glyph
pisymbol .
2015-12-14 23:53:02 UTC
Permalink
On Mon, Dec 14, 2015 at 4:51 PM, Glyph Lefkowitz
Post by pisymbol .
I did a pip install and it said I needed Python 2.7 or higher. Let me
reevaluate if I can just update twisted.
Try `pip install twisted==15.4´ if you still require Python2.6 support; `pip
install twisted´ will install the latest, which no longer works on 2.6.
Yeah, that's what I did. It's working now!
Post by pisymbol .
But again: Python 2.6 is unsupported by the upstream Python developers. You
really should not be using it, since it won't receive security updates (of
course, Red Hat and transitively CentOS claim to "support" these packages,
but if upstream is refusing patches at this point, it's not clear where that
support will come from).
As you can imagine, this boils down to politics.
Post by pisymbol .
If you must use CentOS 6, then I'd recommend installing PyPy 4.0 from
https://github.com/squeaky-pl/portable-pypy#portable-pypy-distribution-for-linux
and using that. In addition to being security-supported, it will also make
your python code run 10x faster :).
Interesting, I'll take a look.

-aps
Glyph Lefkowitz
2015-12-15 00:43:16 UTC
Permalink
Post by pisymbol .
On Mon, Dec 14, 2015 at 4:51 PM, Glyph Lefkowitz
Post by pisymbol .
I did a pip install and it said I needed Python 2.7 or higher. Let me
reevaluate if I can just update twisted.
Try `pip install twisted==15.4´ if you still require Python2.6 support; `pip
install twisted´ will install the latest, which no longer works on 2.6.
Yeah, that's what I did. It's working now!
Great! Glad to hear you were able to make a huge leap in Twisted versions with little trouble :-).
Post by pisymbol .
Post by pisymbol .
But again: Python 2.6 is unsupported by the upstream Python developers. You
really should not be using it, since it won't receive security updates (of
course, Red Hat and transitively CentOS claim to "support" these packages,
but if upstream is refusing patches at this point, it's not clear where that
support will come from).
As you can imagine, this boils down to politics.
I understand that things like this often do, which is exactly why I want to make it clear that we (speaking in terms of the broader Python community now, not just Twisted) are trying to push people towards more recent versions just because they're more fun or more aesthetically pleasant, but because there are very real risks associated with being on unsupported ancient versions of things. It pains me not to be supporting a configuration that some users want, but there is a line where "conservative about change" becomes "negligent about maintenance" and python 2.6 crossed it a little over two years ago :-).
Post by pisymbol .
Post by pisymbol .
If you must use CentOS 6, then I'd recommend installing PyPy 4.0 from
https://github.com/squeaky-pl/portable-pypy#portable-pypy-distribution-for-linux
and using that. In addition to being security-supported, it will also make
your python code run 10x faster :).
Interesting, I'll take a look.
Hope that works out for you. Good luck!

-glyph
pisymbol .
2015-12-15 01:54:43 UTC
Permalink
On Mon, Dec 14, 2015 at 7:43 PM, Glyph Lefkowitz
Post by Glyph Lefkowitz
Post by pisymbol .
On Mon, Dec 14, 2015 at 4:51 PM, Glyph Lefkowitz
Post by pisymbol .
I did a pip install and it said I needed Python 2.7 or higher. Let me
reevaluate if I can just update twisted.
Try `pip install twisted==15.4´ if you still require Python2.6 support; `pip
install twisted´ will install the latest, which no longer works on 2.6.
Yeah, that's what I did. It's working now!
Great! Glad to hear you were able to make a huge leap in Twisted versions with little trouble :-).
Post by pisymbol .
Post by pisymbol .
But again: Python 2.6 is unsupported by the upstream Python developers. You
really should not be using it, since it won't receive security updates (of
course, Red Hat and transitively CentOS claim to "support" these packages,
but if upstream is refusing patches at this point, it's not clear where that
support will come from).
As you can imagine, this boils down to politics.
I understand that things like this often do, which is exactly why I want to make it clear that we (speaking in terms of the broader Python community now, not just Twisted) are trying to push people towards more recent versions just because they're more fun or more aesthetically pleasant, but because there are very real risks associated with being on unsupported ancient versions of things. It pains me not to be supporting a configuration that some users want, but there is a line where "conservative about change" becomes "negligent about maintenance" and python 2.6 crossed it a little over two years ago :-).
I'm not disagreeing with you per se...but...

The fact is the Python community at large then needs to convince the
distro maintainers accordingly. Telling a customer to update their
entire platform for a newer version of Python isn't going to fly a lot
of times (and remember, someone of them have support agreements with
RH).

And running two versions of Python can get messy real fast.

Anyway, it is what it is.
Post by Glyph Lefkowitz
Post by pisymbol .
Post by pisymbol .
If you must use CentOS 6, then I'd recommend installing PyPy 4.0 from
https://github.com/squeaky-pl/portable-pypy#portable-pypy-distribution-for-linux
and using that. In addition to being security-supported, it will also make
your python code run 10x faster :).
Interesting, I'll take a look.
Hope that works out for you. Good luck!
Thanks! So far, so good. I was now able to lift my prototype code and
integrate it with the rest.

I'll probably have more questions at some point, but at least 15.4 did
the trick!

-aps
Tom Prince
2015-12-16 02:36:27 UTC
Permalink
Post by pisymbol .
The fact is the Python community at large then needs to convince the
distro maintainers accordingly. Telling a customer to update their
entire platform for a newer version of Python isn't going to fly a lot
of times (and remember, someone of them have support agreements with
RH).
The community has. However Redhat has customers that want support for
old systems and are willing to pay for it. CentOS is essentially a
repackaged unsupported version of Redhat Enterprise Linux. If you want
support for packages against an old version of python, you can contact
Redhat (as per this[1] post by core python developer and Redhat
employee).

Tom


[1] http://www.curiousefficiency.org/posts/2015/04/stop-supporting-python26.html
Amber "Hawkie" Brown
2015-12-15 04:16:08 UTC
Permalink
Post by Glyph Lefkowitz
Post by pisymbol .
Post by Glyph Lefkowitz
But again: Python 2.6 is unsupported by the upstream Python developers. You
really should not be using it, since it won't receive security updates (of
course, Red Hat and transitively CentOS claim to "support" these packages,
but if upstream is refusing patches at this point, it's not clear where that
support will come from).
As you can imagine, this boils down to politics.
I understand that things like this often do, which is exactly why I want to make it clear that we (speaking in terms of the broader Python community now, not just Twisted) are trying to push people towards more recent versions just because they're more fun or more aesthetically pleasant, but because there are very real risks associated with being on unsupported ancient versions of things. It pains me not to be supporting a configuration that some users want, but there is a line where "conservative about change" becomes "negligent about maintenance" and python 2.6 crossed it a little over two years ago :-).
There is a solution to this, and Nick Coghlan has mentioned it to me many times -- Software Collections for RHEL and CentOS. Software Collections is RH's answer to "new software" on "stable distributions" -- SCLs operate side-by-side with system packages, so it won't break anything. Since you're a CentOS 6.7 user, the standard SCL should work (it's 6.5+).

You can find the Python 2.7 SCL at https://www.softwarecollections.org/en/scls/rhscl/python27/, and CentOS publishes instructions on using them on https://wiki.centos.org/AdditionalResources/Repositories/SCL . This might solve your problem of being restrained to CentOS 6, but Python 2.6 being EOL'd everywhere but it.

- Amber
Phil Mayers
2015-12-15 11:30:02 UTC
Permalink
Post by Amber "Hawkie" Brown
There is a solution to this, and Nick Coghlan has mentioned it to me
many times -- Software Collections for RHEL and CentOS. Software
Collections is RH's answer to "new software" on "stable
distributions" -- SCLs operate side-by-side with system packages, so
it won't break anything. Since you're a CentOS 6.7 user, the standard
SCL should work (it's 6.5+).
I really disliked the SCLs when I looked at it. The supported use-case
seems to be a kind of hugely over-engineered set of wrapper/environment
setup scripts:

scl enable python2.7 pip install blah

...ad infinitum.

Personally - and I guess for others as well - the SCLs will be
off-putting. It's a shame there isn't a simpler solution, namely EPEL
python2.7 - having a 2nd python in a different path is quite safe, we do
it routinely.

It's hugely annoying that RHEL6 and derivatives missed out on Python 2.7 :o(
Ray Cote
2015-12-15 16:40:11 UTC
Permalink
We have a fair bit of Python 2.7 Twisted code deployed on RHEL and CentOS 5
and 6.
In each case, we build from source and do a make altinstall so we’re
running a Python separate from the system’s.
Just takes a few minutes to get everything installed and running.
Post by Amber "Hawkie" Brown
There is a solution to this, and Nick Coghlan has mentioned it to me
Post by Amber "Hawkie" Brown
many times -- Software Collections for RHEL and CentOS. Software
Collections is RH's answer to "new software" on "stable
distributions" -- SCLs operate side-by-side with system packages, so
it won't break anything. Since you're a CentOS 6.7 user, the standard
SCL should work (it's 6.5+).
I really disliked the SCLs when I looked at it. The supported use-case
seems to be a kind of hugely over-engineered set of wrapper/environment
scl enable python2.7 pip install blah
...ad infinitum.
Personally - and I guess for others as well - the SCLs will be
off-putting. It's a shame there isn't a simpler solution, namely EPEL
python2.7 - having a 2nd python in a different path is quite safe, we do it
routinely.
It's hugely annoying that RHEL6 and derivatives missed out on Python 2.7 :o(
_______________________________________________
Twisted-Python mailing list
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
--
Raymond Cote, President
voice: +1.603.924.6079 email: ***@AppropriateSolutions.com skype:
ray.cote
Steve Waterbury
2015-12-15 17:34:24 UTC
Permalink
Here (NASA/GSFC) we use conda-based virtual envs on CentOS 6, and
they work great -- I turned our sysadmins on to conda about a year
ago, and they *love* it (no more compiling python, woo! ;)
All recent versions of twisted are available as conda packages:
# conda search twisted
Fetching package metadata: ......
twisted 12.3.0 py27_0 defaults
12.3.0 py26_0 defaults
13.0.0 py27_0 defaults
13.0.0 py26_0 defaults
13.1.0 py27_0 defaults
13.1.0 py26_0 defaults
13.2.0 py27_0 defaults
13.2.0 py26_0 defaults
14.0.0 py27_0 defaults
14.0.0 py26_0 defaults
14.0.2 py27_0 defaults
14.0.2 py26_0 defaults
15.0.0 py27_0 defaults
15.0.0 py26_0 defaults
15.1.0 py27_0 defaults
15.1.0 py26_0 defaults
15.2.0 py34_0 defaults
15.2.0 py27_0 defaults
15.2.0 py26_0 defaults
15.2.1 py34_0 defaults
. 15.2.1 py27_0 defaults
15.2.1 py26_0 defaults
15.3.0 py34_0 defaults
15.3.0 py27_0 defaults
15.3.0 py26_0 defaults
15.4.0 py35_0 defaults
15.4.0 py34_0 defaults
15.4.0 py27_0 defaults
15.5.0 py35_0 defaults
15.5.0 py34_0 defaults
* 15.5.0 py27_0 defaults

Steve
Post by Ray Cote
We have a fair bit of Python 2.7 Twisted code deployed on RHEL and
CentOS 5 and 6.
In each case, we build from source and do a make altinstall so we’re
running a Python separate from the system’s.
Just takes a few minutes to get everything installed and running.
There is a solution to this, and Nick Coghlan has mentioned it to me
many times -- Software Collections for RHEL and CentOS. Software
Collections is RH's answer to "new software" on "stable
distributions" -- SCLs operate side-by-side with system packages, so
it won't break anything. Since you're a CentOS 6.7 user, the standard
SCL should work (it's 6.5+).
I really disliked the SCLs when I looked at it. The supported
use-case seems to be a kind of hugely over-engineered set of
scl enable python2.7 pip install blah
...ad infinitum.
Personally - and I guess for others as well - the SCLs will be
off-putting. It's a shame there isn't a simpler solution, namely
EPEL python2.7 - having a 2nd python in a different path is quite
safe, we do it routinely.
It's hugely annoying that RHEL6 and derivatives missed out on Python 2.7 :o(
_______________________________________________
Twisted-Python mailing list
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
--
Raymond Cote, President
ray.cote
_______________________________________________
Twisted-Python mailing list
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
Phil Mayers
2015-12-16 16:07:21 UTC
Permalink
Post by Ray Cote
We have a fair bit of Python 2.7 Twisted code deployed on RHEL and
CentOS 5 and 6.
In each case, we build from source and do a make altinstall so we’re
running a Python separate from the system’s.
We build an RPM, but basically yes; put it in a different path and it's
fine.

Minor hassle though it is, it's one more thing that I would prefer to
not need. But reinstalling upwards of 60 RHEL6 production machines is
vastly more hassle ;o)

John Santos
2015-12-15 11:28:02 UTC
Permalink
Sorry if the quoting is a little weird in this, I've long since deleted
Glyph's original response, so I'm replying to Amber's latest, but I just
noticed something in the quote (from Glyph, I think) that I want to correct
Post by Glyph Lefkowitz
I understand that things like this often do, which is exactly why I want
to make it clear that we (speaking in terms of the broader Python
community now, not just Twisted) are trying to push people towards more
recent versions just because they're more fun or more aesthetically
===============^
pleasant, but because there are very real risks associated with being on
unsupported ancient versions of things. It pains me not to be supporting
a configuration that some users want, but there is a line where
"conservative about change" becomes "negligent about maintenance" and
python 2.6 crossed it a little over two years ago :-).

I'm sure you meant "[we] are trying to push people towards more recent
versions [NOT] just because they're more fun..."
--
John Santos
Evans Griffiths & Hart, Inc.
781-861-0670 ext 539
Loading...