Message71095
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. |
|
Date |
User |
Action |
Args |
2008-08-13 19:49:36 | ajaksu2 | set | recipients:
+ ajaksu2, barry, nnorwitz, brett.cannon, theller, amaury.forgeotdarc, benjamin.peterson |
2008-08-13 19:49:35 | ajaksu2 | set | messageid: <1218656975.86.0.667836320722.issue2548@psf.upfronthosting.co.za> |
2008-08-13 19:49:34 | ajaksu2 | link | issue2548 messages |
2008-08-13 19:49:33 | ajaksu2 | create | |
|