diff --git a/uvloop/cbhandles.pyx b/uvloop/cbhandles.pyx index bc67b73d..2914b42e 100644 --- a/uvloop/cbhandles.pyx +++ b/uvloop/cbhandles.pyx @@ -414,7 +414,12 @@ cdef extract_stack(): """Replacement for traceback.extract_stack() that only does the necessary work for asyncio debug mode. """ - f = sys_getframe() + try: + f = sys_getframe() + # sys._getframe() might raise ValueError if being called without a frame, e.g. + # from Cython or similar C extensions. + except ValueError: + return None if f is None: return