Brett Cannon <[EMAIL PROTECTED]> added the comment: On Wed, Aug 13, 2008 at 12:49 PM, Daniel Diniz <[EMAIL PROTECTED]> wrote: > > Daniel Diniz <[EMAIL PROTECTED]> added the comment: > > FWIW, rev58032 introduced this: > tstate = PyThreadState_GET(); > if (++tstate->recursion_depth > Py_GetRecursionLimit()) { > --tstate->recursion_depth; > PyErr_SetObject(PyExc_RuntimeError, PyExc_RecursionErrorInst); > return; > } > above this line: > PyErr_NormalizeException(exc, val, tb); > > Contrary to (what I understand from) Amaury's analysis, ISTM that the > call to PyErr_SetObject is the problem, as after the recursion limit is > hit PyErr_NormalizeException isn't called again. > > Commenting off the PyErr_SetObject line suppresses the "undetected > errors" and passes the unittests (including the infinite recursion > crashers removed in that rev). I have no idea about the problems it may > cause, though. >
If I remember correctly, that is on purpose as normalizing the exception could lead to the stack being blown again. But this totally off of memory, so I could be wrong. _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue2548> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com