-
-
Notifications
You must be signed in to change notification settings - Fork 30.3k
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
Implement PEP 590 #81155
Comments
BUILDBOT FAILURE REPORT Builder name: AMD64 Ubuntu Shared 3.x Failed tests
Test leaking resources Build summary == Tests result: FAILURE then FAILURE == 405 tests OK. 10 slowest tests:
1 test failed: 17 tests skipped: 1 re-run test: Total duration: 42 min 45 sec Tracebacks
Current builder status The builder is failing currently Commits Other builds with similar failures
Common commits for all builds: |
@petr is https://bugs.python.org/issue37090 and #13668 also addressing the buildbot failures? |
Great! Thank you very much for the quick fix for the problem. For AMD64 Ubuntu Shared 3.x, the last build was successful: https://buildbot.python.org/all/#/builders/141/builds/1870/steps/5/logs/stdio |
All stable buildbots are back to green. |
I found an issue in PEP-590: When inheriting a heap subclass from a vectorcall class that sets .tp_call=PyVectorcall_Call (as recommended), the subclass does not inherit _Py_TPFLAGS_HAVE_VECTORCALL, and thus PyVectorcall_Call does not work for it.
I'll send a PR for the latter. |
Any objections to closing this? |
Buildbots are green, closing. Thank you for the implementation! |
FYI this change caused a regression in libcomps with Python 3.8 beta3, whereas it works well with Python 3.8 beta2. It's not a bug in Python, but it was a bug in libcomps (already fixed upstream). I just fixed libcomps: This project used the following method descriptors (for module functions): {"categories_match", (PyCFunction)PyCOMPS_categories_match, METH_KEYWORDS, In Python 3.7, importing the module was just fine: descriptor flags are only checked at the first call to the method. In Python 3.8, descriptor flags are checked when the module is imported. Fedora bug: https://bugzilla.redhat.com/show_bug.cgi?id=1734777 The fix is to use the right flags: "METH_VARARGS | METH_KEYWORDS" instead of "METH_KEYWORDS". Should we add a note like "if you get a 'SystemError: bad call flags' on import, check the descriptor flags of your functions" in What's New in Python 3.8? Maybe with a link to this issue. |
A better solution would be to change the error message. We could change it to something like SystemError("bad flags 0x2 for PyCOMPS_categories_match") But maybe it's not worth it. Are there many projects that define functions/methods but never call them? |
'SystemError: bad call flags' error message LGTM, I don't think that it should be changed.
I have no idea. |
bpo-39245 tracks making the API public in Python 3.9. |
I created bpo-39361: [C API] Document PyTypeObject.tp_print removal in What's New In Python 3.9. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: