[issue8154] os.execlp('true') crashes the interpreter on 2.x

R. David Murray report at bugs.python.org
Sat Mar 20 15:19:44 CET 2010


R. David Murray <rdmurray at bitdance.com> added the comment:

I believe that backporting this change to 2.6 is inappropriate.  It will more than likely cause perfectly correct code to stop working, and that is not something we like to do in a maintenance release.

I believe that the bug on the debian/ubuntu side is actually that /bin/true crashes if argc is 0.  Someone with a debian or ubuntu system should test this.

In fact, reviewing this issue again after Alexander's post to python-dev, I don't think that this fix in its current form is advisable at all.  It makes Python's execv function less flexible than the underlying system API, and more importantly changes its behavior in a backwards incompatible way.  Python 3 is a different story in this regard, since the change went in before 3.1, and as noted it makes Python "strictly compliant" with the posix standard, which seems like an acceptable reason to decrease flexibility.

Since it does trigger a crash on the windows equivalent API, the check should be conditional on platform.  And it should generate a py3k warning on other platforms.

I'm open to an argument that the API can be changed in 2.7, although I don't think we normally do that without a deprecation first.  But I think there is no question that this change in its current form needs to be backed out of 2.6.

----------
resolution: fixed -> 
stage: patch review -> needs patch
status: closed -> open

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue8154>
_______________________________________


More information about the Python-bugs-list mailing list