[issue4040] ignored exceptions in generators (regression?)
Changes by Doug Hellmann doug.hellm...@gmail.com: -- nosy: +doughellmann ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue4040 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4040] ignored exceptions in generators (regression?)
Benjamin Peterson [EMAIL PROTECTED] added the comment: Well, I'll just cross my fingers then. :) -- resolution: - wont fix status: open - closed ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue4040 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4040] ignored exceptions in generators (regression?)
Antoine Pitrou [EMAIL PROTECTED] added the comment: This is not specific to generators, this is due to the fact that a lot of recursion checks have been added all over the place. When an internal function designed to ignore exceptions (for example PyErr_GivenExceptionMatches()) encounters such a recursion overflow, it ignores it and prints it out. Such a function designed to ignore exceptions can perfectly be called after a recursion overflow has already happened, and that's what you witness here: the first RuntimeError is raised, and soon enough that exception is given to PyErr_GivenExceptionMatches() (perhaps because `for` has to detected StopIteration's) where the recursion count overflows again (`__subclasscheck__` can incur recursion so there is a recursion guard), and the subsequent exception is ignored and printed out. 2.5 doesn't have the problem because many recursion checks have been added between 2.5 and 2.6. 3.0 doesn't have the problem because its recursion checking code tries to be smart (but it has other problems). See the message I've sent to python-dev some time ago: http://mail.python.org/pipermail/python-dev/2008-August/082106.html -- nosy: +pitrou ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue4040 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4040] ignored exceptions in generators (regression?)
New submission from Benjamin Peterson [EMAIL PROTECTED]: Given this code: def f(): for i in f(): yield i for i in f(): print i 2.6 gives: Exception RuntimeError: 'maximum recursion depth exceeded in __subclasscheck__' in type 'exceptions.RuntimeError' ignored Exception RuntimeError: 'maximum recursion depth exceeded while calling a Python object' in type 'exceptions.RuntimeError' ignored Traceback (most recent call last): File stdin, line 1, in module ... File stdin, line 2, in f RuntimeError: maximum recursion depth exceeded 2.5 and 3.0 do not have this problem. -- messages: 74314 nosy: benjamin.peterson priority: high severity: normal status: open title: ignored exceptions in generators (regression?) versions: Python 2.6, Python 2.7 ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue4040 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue4040] ignored exceptions in generators (regression?)
Changes by Benjamin Peterson [EMAIL PROTECTED]: -- components: +Interpreter Core type: - behavior ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue4040 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com