From 254549d2bb9bb3c2719dec597427919c59514fc3 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Sat, 15 Mar 2025 08:53:18 +0100 Subject: [PATCH] contrib/gcc-changelog: Fix Git.AutoInterrupt - sys.meta_path is None exception I think the following message is new with Python 3.13, at least I starting seeing the following exception, which could be fixed by a simple call to 'repo.close()'. Seemingly the issue was that the lifetime of the destructor exceeded the object lifetime. Exception ignored in: Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/git/cmd.py", line 790, in __del__ File "/usr/lib/python3.13/site-packages/git/cmd.py", line 781, in _terminate File "/usr/lib64/python3.13/subprocess.py", line 2227, in terminate ImportError: sys.meta_path is None, Python is likely shutting down contrib/ChangeLog: * gcc-changelog/git_repository.py (parse_git_revisions): Destroy the Repo object by calling repo.close() at the end of the function. --- contrib/gcc-changelog/git_repository.py | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/gcc-changelog/git_repository.py b/contrib/gcc-changelog/git_repository.py index d7650c65e21..2b2efffe77a 100755 --- a/contrib/gcc-changelog/git_repository.py +++ b/contrib/gcc-changelog/git_repository.py @@ -78,4 +78,5 @@ def parse_git_revisions(repo_path, revisions, ref_name=None): commit_to_info_hook=commit_to_info, ref_name=ref_name) parsed_commits.append(git_commit) + repo.close() return parsed_commits