对于此页面中的示例: https://wiki.python.org/moin/CrashingPython#Exhausting_Resources 为什么这个案例无法在我的python 2.7中重现 为什么它会让python崩溃?
$ python
Python 2.4.2 (#2, Sep 30 2005, 21:19:01)
[GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> f = lambda: None
>>> for i in xrange(1000000):
... f = f.__call__
...
>>> del f
Segmentation fault
答案 0 :(得分:0)
这只是一个错误,请参阅issue #532646。
所有软件都有错误,Python项目也不例外。它无法在2.7中复制,因为找到并修复了该错误。
具体来说,您找到的页面记录了各种此类崩溃错误,并在顶部指出:
虽然在正常使用中很难或不可能使Python解释器崩溃,但是有许多相当简单的方法可以使解释器崩溃。 BDFL最近在python-dev邮件列表上发音:
我不是说它不可救药。我说如果你崩溃了,除非经过证明,否则它就是一个错误。
crashers test suite添加了任何已知但仍然未解决的错误。如果您追溯这些测试的历史记录,您将能够找到更多的crashers以及它们适用的Python版本。大多数都需要像你问题中那样模糊的设置。