Chris Jerdonek <chris.jerdo...@gmail.com> added the comment:

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.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue40696>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to