From 068764340bbd37c6a1629890532db3506383e535 Mon Sep 17 00:00:00 2001 From: jhance Date: Sat, 7 Oct 2023 14:53:16 -0700 Subject: [PATCH] Make extract_stack resilient to lacking frames. (#563) --- uvloop/cbhandles.pyx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/uvloop/cbhandles.pyx b/uvloop/cbhandles.pyx index bc67b73..2914b42 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