From 06ad89862501f8d5c9cca04e7e183baac3c6d56f Mon Sep 17 00:00:00 2001 From: Jared Hance Date: Thu, 7 Sep 2023 10:22:44 -0700 Subject: [PATCH] Make extract_stack resilient to lacking frames. --- uvloop/cbhandles.pyx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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