MD5 and SHA* objects free their HACL* state before they are GC-untracked. In addition, I believe that MD5 and SHA* objects do NOT need to actually be GC-tracked because they do not contain anything other than a plain HACL* state pointer which is not a Python object (but that's a separate issue).
Activity
pythongh-155833: GC-untrack MD5/SHA* objects before freeing the HACL*…
gh-155833: GC-untrack MD5/SHA* objects before freeing the HACL* state (…
[3.14] gh-155833: GC-untrack MD5/SHA* objects before freeing the HACL…
[3.15] gh-155833: GC-untrack MD5/SHA* objects before freeing the HACL…