Call to _imp.source_hash with incorrect arguments in (unreachable?) part of SourceLoader.get_code (importlib._bootstrap_external)
Bug report
As far as I can tell this line:
| source_hash = _imp.source_hash(source_bytes) |
will raise a TypeError and should be a 2 argument form as seen earlier in the same method.
| source_hash = _imp.source_hash( | |
| _RAW_MAGIC_NUMBER, | |
| source_bytes, | |
| ) |
However, as either hash_based is False, source_hash has already been generated or the code returns early I don't think this line can be reached. (Maybe if you have a flaky version of get_data that sometimes raises an ImportError/EOFError??).
Example:
>>> _imp.source_hash(_RAW_MAGIC_NUMBER, b'') b's\x8d\x9c\xd5\xd5\xe8\x7fs' >>> _imp.source_hash(b'') Traceback (most recent call last): File "/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/code.py", line 90, in runcode exec(code, self.locals) File "<input>", line 1, in <module> TypeError: source_hash() missing required argument 'source' (pos 2)
Edit: Sorry, as I opened the issue from within the source line via 'reference in new issue' I think I accidentally skipped the bug report format that would have given this a label.