From 96af3eae92a7b5dc1053be194820adf47c17777a Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Fri, 3 Feb 2023 20:42:18 +0800 Subject: fix: add safety for empty stack on shutdown. (#1543) * Add safety for empty stack on shutdown. * Correct line length linting issue. --------- Co-authored-by: Ned Batchelder --- coverage/pytracer.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'coverage') diff --git a/coverage/pytracer.py b/coverage/pytracer.py index 326c50ba..6723c2a1 100644 --- a/coverage/pytracer.py +++ b/coverage/pytracer.py @@ -137,9 +137,17 @@ class PyTracer(TTracer): self.log(">", f.f_code.co_filename, f.f_lineno, f.f_code.co_name, f.f_trace) f = f.f_back sys.settrace(None) - self.cur_file_data, self.cur_file_name, self.last_line, self.started_context = ( - self.data_stack.pop() - ) + try: + self.cur_file_data, self.cur_file_name, self.last_line, self.started_context = ( + self.data_stack.pop() + ) + except IndexError: + self.log( + "Empty stack!", + frame.f_code.co_filename, + frame.f_lineno, + frame.f_code.co_name + ) return None # if event != 'call' and frame.f_code.co_filename != self.cur_file_name: -- cgit v1.2.1