-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
bugSomething isn't workingSomething isn't workingchoreMaintenance, CI/CD, toolingMaintenance, CI/CD, toolingciCI/CD pipeline issuesCI/CD pipeline issuespythonPython libraryPython library
Description
Summary
The Atheris Python-Rust Fuzzing job fails because atheris==2.3.0 cannot build on Python 3.12+.
Error
src/native/codetable_gen.cc:46:17: error: 'PRECALL' was not declared in
this scope; did you mean 'CALL'?
46 | opcode_caches[PRECALL] = 1;
| ^~~~~~~
| CALL
error: command '/usr/bin/c++' failed with exit code 1
Root Cause
Python 3.12 removed the PRECALL opcode that existed in Python 3.11. The Atheris library (v2.3.0) hardcodes this opcode, making it incompatible with Python 3.12+.
Upstream issue: google/atheris#88
Failed Run
https://github.com/cachekit-io/cachekit-py/actions/runs/20219774104
Options
- Skip for now: Disable Atheris fuzzing until upstream releases a Python 3.12-compatible version
- Pin Python 3.11: Run Atheris fuzzing specifically on Python 3.11 instead of 3.12
- Monitor upstream: Atheris has an open issue for Python 3.12 support - await fix
Recommendation
Option 2: Pin fuzzing job to Python 3.11. This allows continued security testing while waiting for upstream compatibility.
- name: Set up Python
run: uv python install 3.11 # Use 3.11 for Atheris compatibilityMetadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingchoreMaintenance, CI/CD, toolingMaintenance, CI/CD, toolingciCI/CD pipeline issuesCI/CD pipeline issuespythonPython libraryPython library