Bug 2208475

Summary: bandit fails to build with Python 3.12: SystemError: <built-in function fspath> returned a result with an exception set
Product: [Fedora] Fedora Reporter: Tomáš Hrnčiar <thrnciar>
Component: banditAssignee: Mikel Olasagasti Uranga <mikel>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mhroncok, mikel, misc, thrnciar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-07-13 11:58:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2135404    

Description Tomáš Hrnčiar 2023-05-19 08:25:44 UTC
bandit fails to build with Python 3.12.0a7.

=================================== FAILURES ===================================
_________________ BanditBaselineToolTests.test_bandit_baseline _________________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/git/objects/commit.py", line 557, in create_from_tree
    repo.head.set_commit(new_commit, logmsg=message)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 265, in set_commit
    self.set_object(commit, logmsg)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 298, in set_object
    return self._get_reference().set_object(object, logmsg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/reference.py", line 81, in set_object
    oldbinsha = self.commit.binsha
                ^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gitdb/util.py", line 255, in __getattr__
    return object.__getattribute__(self, attr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 193, in _get_ref_info_helper
    raise ValueError("Reference at %r does not exist" % ref_path)
ValueError: Reference at 'refs/heads/master' does not exist

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 193, in _get_ref_info_helper
    raise ValueError("Reference at %r does not exist" % ref_path)
ValueError: Reference at 'refs/heads/master' does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/builddir/build/BUILD/bandit-1.7.5/tests/unit/cli/test_baseline.py", line 72, in test_bandit_baseline
    git_repo.index.commit("Initial commit")
  File "/usr/lib/python3.12/site-packages/git/index/base.py", line 1056, in commit
    rval = Commit.create_from_tree(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/objects/commit.py", line 561, in create_from_tree
    master = git.refs.Head.create(
             ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 615, in create
    return cls._create(repo, path, cls._resolve_ref_on_create, reference, force, logmsg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 574, in _create
    ref.set_reference(target, logmsg)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 360, in set_reference
    oldbinsha = self.commit.binsha
                ^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gitdb/util.py", line 255, in __getattr__
    return object.__getattribute__(self, attr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 174, in _get_ref_info_helper
    with open(os.path.join(repodir, str(ref_path)), "rt", encoding="UTF-8") as fp:
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 82, in join
SystemError: <built-in function fspath> returned a result with an exception set

______________ BanditBaselineToolTests.test_initialize_dirty_repo ______________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 193, in _get_ref_info_helper
    raise ValueError("Reference at %r does not exist" % ref_path)
ValueError: Reference at 'refs/heads/master' does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/builddir/build/BUILD/bandit-1.7.5/tests/unit/cli/test_baseline.py", line 237, in test_initialize_dirty_repo
    git_repo.index.commit("Initial Commit")
  File "/usr/lib/python3.12/site-packages/git/index/base.py", line 1056, in commit
    rval = Commit.create_from_tree(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/objects/commit.py", line 557, in create_from_tree
    repo.head.set_commit(new_commit, logmsg=message)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 265, in set_commit
    self.set_object(commit, logmsg)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 298, in set_object
    return self._get_reference().set_object(object, logmsg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/reference.py", line 81, in set_object
    oldbinsha = self.commit.binsha
                ^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gitdb/util.py", line 255, in __getattr__
    return object.__getattribute__(self, attr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 174, in _get_ref_info_helper
    with open(os.path.join(repodir, str(ref_path)), "rt", encoding="UTF-8") as fp:
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 82, in join
SystemError: <built-in function fspath> returned a result with an exception set

_________ BanditBaselineToolTests.test_initialize_existing_report_file _________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 193, in _get_ref_info_helper
    raise ValueError("Reference at %r does not exist" % ref_path)
ValueError: Reference at 'refs/heads/master' does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib64/python3.12/unittest/mock.py", line 1381, in patched
    return func(*newargs, **newkeywargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/bandit-1.7.5/tests/unit/cli/test_baseline.py", line 257, in test_initialize_existing_report_file
    git_repo.index.commit("Initial Commit")
  File "/usr/lib/python3.12/site-packages/git/index/base.py", line 1056, in commit
    rval = Commit.create_from_tree(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/objects/commit.py", line 557, in create_from_tree
    repo.head.set_commit(new_commit, logmsg=message)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 265, in set_commit
    self.set_object(commit, logmsg)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 298, in set_object
    return self._get_reference().set_object(object, logmsg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/reference.py", line 81, in set_object
    oldbinsha = self.commit.binsha
                ^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gitdb/util.py", line 255, in __getattr__
    return object.__getattribute__(self, attr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 174, in _get_ref_info_helper
    with open(os.path.join(repodir, str(ref_path)), "rt", encoding="UTF-8") as fp:
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 82, in join
SystemError: <built-in function fspath> returned a result with an exception set

__________ BanditBaselineToolTests.test_initialize_existing_temp_file __________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 193, in _get_ref_info_helper
    raise ValueError("Reference at %r does not exist" % ref_path)
ValueError: Reference at 'refs/heads/master' does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/builddir/build/BUILD/bandit-1.7.5/tests/unit/cli/test_baseline.py", line 291, in test_initialize_existing_temp_file
    git_repo.index.commit("Initial Commit")
  File "/usr/lib/python3.12/site-packages/git/index/base.py", line 1056, in commit
    rval = Commit.create_from_tree(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/objects/commit.py", line 557, in create_from_tree
    repo.head.set_commit(new_commit, logmsg=message)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 265, in set_commit
    self.set_object(commit, logmsg)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 298, in set_object
    return self._get_reference().set_object(object, logmsg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/reference.py", line 81, in set_object
    oldbinsha = self.commit.binsha
                ^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gitdb/util.py", line 255, in __getattr__
    return object.__getattribute__(self, attr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 174, in _get_ref_info_helper
    with open(os.path.join(repodir, str(ref_path)), "rt", encoding="UTF-8") as fp:
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 82, in join
SystemError: <built-in function fspath> returned a result with an exception set

_________ BanditBaselineToolTests.test_initialize_git_command_failure __________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 193, in _get_ref_info_helper
    raise ValueError("Reference at %r does not exist" % ref_path)
ValueError: Reference at 'refs/heads/master' does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/builddir/build/BUILD/bandit-1.7.5/tests/unit/cli/test_baseline.py", line 215, in test_initialize_git_command_failure
    git_repo.index.commit("Initial Commit")
  File "/usr/lib/python3.12/site-packages/git/index/base.py", line 1056, in commit
    rval = Commit.create_from_tree(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/objects/commit.py", line 557, in create_from_tree
    repo.head.set_commit(new_commit, logmsg=message)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 265, in set_commit
    self.set_object(commit, logmsg)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 298, in set_object
    return self._get_reference().set_object(object, logmsg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/reference.py", line 81, in set_object
    oldbinsha = self.commit.binsha
                ^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gitdb/util.py", line 255, in __getattr__
    return object.__getattribute__(self, attr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 174, in _get_ref_info_helper
    with open(os.path.join(repodir, str(ref_path)), "rt", encoding="UTF-8") as fp:
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 82, in join
SystemError: <built-in function fspath> returned a result with an exception set

_________ BanditBaselineToolTests.test_initialize_with_output_argument _________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 193, in _get_ref_info_helper
    raise ValueError("Reference at %r does not exist" % ref_path)
ValueError: Reference at 'refs/heads/master' does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib64/python3.12/unittest/mock.py", line 1381, in patched
    return func(*newargs, **newkeywargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/bandit-1.7.5/tests/unit/cli/test_baseline.py", line 278, in test_initialize_with_output_argument
    git_repo.index.commit("Initial Commit")
  File "/usr/lib/python3.12/site-packages/git/index/base.py", line 1056, in commit
    rval = Commit.create_from_tree(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/objects/commit.py", line 557, in create_from_tree
    repo.head.set_commit(new_commit, logmsg=message)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 265, in set_commit
    self.set_object(commit, logmsg)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 298, in set_object
    return self._get_reference().set_object(object, logmsg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/reference.py", line 81, in set_object
    oldbinsha = self.commit.binsha
                ^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gitdb/util.py", line 255, in __getattr__
    return object.__getattribute__(self, attr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 174, in _get_ref_info_helper
    with open(os.path.join(repodir, str(ref_path)), "rt", encoding="UTF-8") as fp:
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 82, in join
SystemError: <built-in function fspath> returned a result with an exception set

____________ BanditBaselineToolTests.test_main_git_command_failure _____________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 193, in _get_ref_info_helper
    raise ValueError("Reference at %r does not exist" % ref_path)
ValueError: Reference at 'refs/heads/master' does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/builddir/build/BUILD/bandit-1.7.5/tests/unit/cli/test_baseline.py", line 138, in test_main_git_command_failure
    git_repo.index.commit("Initial Commit")
  File "/usr/lib/python3.12/site-packages/git/index/base.py", line 1056, in commit
    rval = Commit.create_from_tree(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/objects/commit.py", line 557, in create_from_tree
    repo.head.set_commit(new_commit, logmsg=message)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 265, in set_commit
    self.set_object(commit, logmsg)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 298, in set_object
    return self._get_reference().set_object(object, logmsg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/reference.py", line 81, in set_object
    oldbinsha = self.commit.binsha
                ^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gitdb/util.py", line 255, in __getattr__
    return object.__getattribute__(self, attr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 174, in _get_ref_info_helper
    with open(os.path.join(repodir, str(ref_path)), "rt", encoding="UTF-8") as fp:
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 82, in join
SystemError: <built-in function fspath> returned a result with an exception set

______________ BanditBaselineToolTests.test_main_no_parent_commit ______________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 193, in _get_ref_info_helper
    raise ValueError("Reference at %r does not exist" % ref_path)
ValueError: Reference at 'refs/heads/master' does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/builddir/build/BUILD/bandit-1.7.5/tests/unit/cli/test_baseline.py", line 161, in test_main_no_parent_commit
    git_repo.index.commit("Initial Commit")
  File "/usr/lib/python3.12/site-packages/git/index/base.py", line 1056, in commit
    rval = Commit.create_from_tree(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/objects/commit.py", line 557, in create_from_tree
    repo.head.set_commit(new_commit, logmsg=message)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 265, in set_commit
    self.set_object(commit, logmsg)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 298, in set_object
    return self._get_reference().set_object(object, logmsg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/reference.py", line 81, in set_object
    oldbinsha = self.commit.binsha
                ^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gitdb/util.py", line 255, in __getattr__
    return object.__getattribute__(self, attr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 174, in _get_ref_info_helper
    with open(os.path.join(repodir, str(ref_path)), "rt", encoding="UTF-8") as fp:
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 82, in join
SystemError: <built-in function fspath> returned a result with an exception set

______________ BanditBaselineToolTests.test_main_subprocess_error ______________
'NoneType' object is not iterable

During handling of the above exception, another exception occurred:
NOTE: Incompatible Exception Representation, displaying natively:

testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 193, in _get_ref_info_helper
    raise ValueError("Reference at %r does not exist" % ref_path)
ValueError: Reference at 'refs/heads/master' does not exist

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/builddir/build/BUILD/bandit-1.7.5/tests/unit/cli/test_baseline.py", line 173, in test_main_subprocess_error
    git_repo.index.commit("Initial Commit")
  File "/usr/lib/python3.12/site-packages/git/index/base.py", line 1056, in commit
    rval = Commit.create_from_tree(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/objects/commit.py", line 557, in create_from_tree
    repo.head.set_commit(new_commit, logmsg=message)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 265, in set_commit
    self.set_object(commit, logmsg)
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 298, in set_object
    return self._get_reference().set_object(object, logmsg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/reference.py", line 81, in set_object
    oldbinsha = self.commit.binsha
                ^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/gitdb/util.py", line 255, in __getattr__
    return object.__getattribute__(self, attr)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 226, in _get_commit
    obj = self._get_object()
          ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 219, in _get_object
    return Object.new_from_sha(self.repo, hex_to_bin(self.dereference_recursive(self.repo, self.path)))
                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 159, in dereference_recursive
    hexsha, ref_path = cls._get_ref_info(repo, ref_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 210, in _get_ref_info
    return cls._get_ref_info_helper(repo, ref_path)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/git/refs/symbolic.py", line 174, in _get_ref_info_helper
    with open(os.path.join(repodir, str(ref_path)), "rt", encoding="UTF-8") as fp:
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 82, in join
SystemError: <built-in function fspath> returned a result with an exception set

=============================== warnings summary ===============================
../../../../usr/lib/python3.12/site-packages/testtools/testresult/real.py:25
  'cgi' is deprecated and slated for removal in Python 3.13

tests/unit/core/test_test_set.py::test_plugin
  Expected None, but tests/unit/core/test_test_set.py::test_plugin returned {'Import': [{'name': 'telnet', 'id': 'B401', 'cwe': 319, 'message': 'A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.', 'qualnames': ['telnetlib'], 'level': 'HIGH'}, {'name': 'marshal', 'id': 'B302', 'cwe': 502, 'message': 'Deserialization with the marshal module is possibly dangerous.', 'qualnames': ['marshal.load', 'marshal.loads'], 'level': 'MEDIUM'}], 'ImportFrom': [{'name': 'telnet', 'id': 'B401', 'cwe': 319, 'message': 'A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.', 'qualnames': ['telnetlib'], 'level': 'HIGH'}, {'name': 'marshal', 'id': 'B302', 'cwe': 502, 'message': 'Deserialization with the marshal module is possibly dangerous.', 'qualnames': ['marshal.load', 'marshal.loads'], 'level': 'MEDIUM'}], 'Call': [{'name': 'telnet', 'id': 'B401', 'cwe': 319, 'message': 'A telnet-related module is being imported.  Telnet is considered insecure. Use SSH or some other encrypted protocol.', 'qualnames': ['telnetlib'], 'level': 'HIGH'}, {'name': 'marshal', 'id': 'B302', 'cwe': 502, 'message': 'Deserialization with the marshal module is possibly dangerous.', 'qualnames': ['marshal.load', 'marshal.loads'], 'level': 'MEDIUM'}]}, which will be an error in a future version of pytest.  Did you mean to use `assert` instead of `return`?

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/unit/cli/test_baseline.py::BanditBaselineToolTests::test_bandit_baseline
FAILED tests/unit/cli/test_baseline.py::BanditBaselineToolTests::test_initialize_dirty_repo
FAILED tests/unit/cli/test_baseline.py::BanditBaselineToolTests::test_initialize_existing_report_file
FAILED tests/unit/cli/test_baseline.py::BanditBaselineToolTests::test_initialize_existing_temp_file
FAILED tests/unit/cli/test_baseline.py::BanditBaselineToolTests::test_initialize_git_command_failure
FAILED tests/unit/cli/test_baseline.py::BanditBaselineToolTests::test_initialize_with_output_argument
FAILED tests/unit/cli/test_baseline.py::BanditBaselineToolTests::test_main_git_command_failure
FAILED tests/unit/cli/test_baseline.py::BanditBaselineToolTests::test_main_no_parent_commit
FAILED tests/unit/cli/test_baseline.py::BanditBaselineToolTests::test_main_subprocess_error
================== 9 failed, 256 passed, 2 warnings in 4.06s ===================

https://docs.python.org/3.12/whatsnew/3.12.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.12/fedora-rawhide-x86_64/05934698-bandit/

For all our attempts to build bandit with Python 3.12, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.12/package/bandit/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.12:
https://copr.fedorainfracloud.org/coprs/g/python/python3.12/

Let us know here if you have any questions.

Python 3.12 is planned to be included in Fedora 39. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.12.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon.
We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Mikel Olasagasti Uranga 2023-07-13 11:58:37 UTC
Builds fine with currently in rawhide. Tested with mock and by koschei.