[Cython] segfault in 'async def' coroutines

Stefan Behnel stefan_ml at behnel.de
Thu May 19 12:28:30 EDT 2016


Yury Selivanov schrieb am 19.05.2016 um 17:29:
> On 2016-05-17 11:31 AM, Yury Selivanov wrote:
>> On 2016-05-17 1:32 AM, Stefan Behnel wrote:
>>> And finally, since both name values are guaranteed to be strings (the
>>> setter checks their type), I wonder if we shouldn't just make sure they are
>>> *exactly*  Unicode strings by converting any subtypes, and then remove
>>> their
>>> Py_CLEAR() from the tp_clear() function. Strings can't participate in
>>> reference cycles, and we could thus report the actual names even during
>>> garbage collection.
>>
>> This sounds like a really nice solution, Stefan.
> 
> Stefan, any ETA on this?  For now I have to patch the C file generated by
> Cython (otherwise uvloop segfaults), and that's kind of fragile.

Could you give it a try yourself? The code is in Coroutine.c, should be
straight forward.

Stefan



More information about the cython-devel mailing list