Message369510
I just posted a draft PR that implements the narrower fix:
https://github.com/python/cpython/pull/20287
I confirmed that the Django test passes with it. I also included two regression tests: one using only generators, and one more like the Django test that awaits a task.
My solution was to update the exception context in gen_send_ex() using _PyErr_SetObject() instead of _PyErr_ChainExceptions() -- because _PyErr_SetObject() does the cycle detection we've been discussing, and _PyErr_ChainExceptions() doesn't.
While _PyErr_SetObject()'s cycle detection isn't complete in that it can't detect cycles that begin further down the chain, it's good enough for this case. |
|
Date |
User |
Action |
Args |
2020-05-21 09:28:45 | chris.jerdonek | set | recipients:
+ chris.jerdonek, asvetlov, yselivanov, eamanu, BTaskaya, aeros, carltongibson, felixxm |
2020-05-21 09:28:45 | chris.jerdonek | set | messageid: <1590053325.89.0.988261239971.issue40696@roundup.psfhosted.org> |
2020-05-21 09:28:45 | chris.jerdonek | link | issue40696 messages |
2020-05-21 09:28:45 | chris.jerdonek | create | |
|