-
Notifications
You must be signed in to change notification settings - Fork 484
Switch to Python 3.7 #2472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch to Python 3.7 #2472
Conversation
Ugh we should really do something about that
3.6 is EOL soon, so we can justify jumping up to a more recent version, but 3.8 might still be too new for some people.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should also bump the setup.py
line here as well
Line 64 in 1f7b8dc
python_requires=">=3.6", |
It's very easy to use new Python3.7+ features, and we shouldn't claim to support a lower version than we actually test.
Fair enough. I bumped all the references to Python3.6 I could find to 3.7. |
* master: Install Python3.7 in Docker image (#2482) Prioritize LD_LIBRARY_PATH over system default path (#2476) track parent in state descriptors (#2479) Switch to Python 3.7 (#2472) Fix loading custom interpreters for ELF binaries (#2473) Create CITATION.cff Track last_pc in StateDescriptors (#2471) Expose Result Register for Native CPU (#2470)
* master: Add methods for getting list of (un)implemented system calls (#2491) Unpin Truffle Version, Use Latest crytic-compile (#2490) Add last_executed_pc property to abstract CPU (#2475) Bump Node from 13.x to 16.x (#2484) Copy/Snapshot a RegisterFile (#2489) Add more logging messages around solver errors (#2485) Add manticore reference property to States (#2486) Option to kill Manticore if any state fails on unrecoverable error (#2487) Optionally publish events for memory reads (#2488) Install Python3.7 in Docker image (#2482) Prioritize LD_LIBRARY_PATH over system default path (#2476) track parent in state descriptors (#2479) Switch to Python 3.7 (#2472) Fix loading custom interpreters for ELF binaries (#2473) Create CITATION.cff
Three days ago, the symbolic WASM tests started failing onmaster
. There were no changes to manticore in between the failing tests and the passing ones. Presumably some kind of upstream update caused the failures, but Yices, Z3, and CVC don't seem to have published any releases that day. Interestingly, the failure always occurs in thefib_L271
, which is a stress-test designed to test WASM functions with very high call depth. It also seems to take the form of SMTLib errors we've seen before, where an invalid SMT2 string is rendered into text and sent to the solver. For example, in today's failure, the exception is:2021-07-23 12:12:49,417: [7396] m.c.worker:ERROR: Exception in state 0: SolverException('Error in smtlib: (error "at line 782, column 29: undefined identifier: BitV")',)
. I'm using this PR to try and diagnose the issue because I can't replicate the failure locally.This PR started out trying to fix the aforementioned test failures, which have now spontaneously resolved. In the course of working on it though, I noticed that Python 3.6 will be EOL at the end of 2021, which means we're probably okay to bump our minimum tested version of Python up to 3.7.