Uh oh!
There was an error while loading. Please reload this page.
gh-108740: Fix "make regen-all" race condition - #108741
Conversation
vstinner
commented
Aug 31, 2023
You can test this fix by adding a new global identifier with this patch: index c66a862341..4534768305 100644
--- a/Modules/_asynciomodule.c+++ b/Modules/_asynciomodule.c@@ -780,6 +780,7 @@ _asyncio.Future.__init__
*
loop: object = None
+ new_funky_identifier: object = None
This class is *almost* compatible with concurrent.futures.Future.
Run Then revert the local patch, and make run that Moreover, |
vstinner
commented
Aug 31, 2023
I removed the misleading messages displayed to the user to ask to run In general, |
vstinner
commented
Aug 31, 2023
Maybe:
|
vstinner
commented
Aug 31, 2023
markshannon
commented
Sep 1, 2023
We are looking at removing deepfreeze altogether. #108722 |
vstinner
commented
Sep 1, 2023
Good to know! Anyway, it's still worth it to fix Python 3.12 build system (which uses And there is still a dependency issue between |
ab72ab2 to
5bb8646Comparevstinner
commented
Sep 2, 2023
I updated my PR to better explain the change, and I documented generated files in Doc/using/configure.rst. @erlend-aasland: Would you be available to review my change? |
Uh oh!
There was an error while loading. Please reload this page.
erlend-aasland
commented
Sep 3, 2023
I'll have a look tomorrow! |
erlend-aasland
commented
Sep 6, 2023
IIUC, it is only partially removed, and the infrastructure remains, so it would make sense to fix the race condition. |
Fix a race condition in "make regen-all". The deepfreeze.c source and files generated by Argument Clinic are now generated or updated before generating "global objects". Previously, some identifiers may miss depending on the order in which these files were generated. * "make regen-global-objects": Make sure that deepfreeze.c is generated and up to date, and always run "make clinic". * "make clinic" no longer runs generate_global_objects.py script anymore. * "make regen-deepfreeze" now only updates deepfreeze.c, it doesn't build deepfreeze.o anymore. * Remove misleading messages in "make regen-global-objects" and "make clinic". They are outdated, these commands are now safe to use. * Document generates files in Doc/using/configure.rst
This reverts commit 4803f4e. We must keep the previous rule because of the Makefile patching (!) that the generate-* scripts does.
2f5eed3 to
66e8d70Comparevstinner
commented
Sep 6, 2023
What what the problem?
I tried again your change :-) |
vstinner
commented
Sep 6, 2023
Good :-) |
miss-islington
commented
Sep 6, 2023
Thanks @vstinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11, 3.12. |
miss-islington
commented
Sep 6, 2023
Sorry, @vstinner, I could not cleanly backport this to |
miss-islington
commented
Sep 6, 2023
Sorry, @vstinner, I could not cleanly backport this to |
Fix a race condition in "make regen-all". The deepfreeze.c source and files generated by Argument Clinic are now generated or updated before generating "global objects". Previously, some identifiers may miss depending on the order in which these files were generated. * "make regen-global-objects": Make sure that deepfreeze.c is generated and up to date, and always run "make clinic". * "make clinic" no longer runs generate_global_objects.py script. * "make regen-deepfreeze" now only updates deepfreeze.c (C file). It doesn't build deepfreeze.o (object) anymore. * Remove misleading messages in "make regen-global-objects" and "make clinic". They are now outdated, these commands are now safe to use. * Document generates files in Doc/using/configure.rst. Co-authored-by: Erlend E. Aasland <erlend@python.org> (cherry picked from commit db1ee6a)
bedevere-bot
commented
Sep 6, 2023
GH-109019 is a backport of this pull request to the 3.12 branch. |
Fix a race condition in "make regen-all". The deepfreeze.c source and files generated by Argument Clinic are now generated or updated before generating "global objects". Previously, some identifiers may miss depending on the order in which these files were generated. * "make regen-global-objects": Make sure that deepfreeze.c is generated and up to date, and always run "make clinic". * "make clinic" no longer runs generate_global_objects.py script. * "make regen-deepfreeze" now only updates deepfreeze.c (C file). It doesn't build deepfreeze.o (object) anymore. * Remove misleading messages in "make regen-global-objects" and "make clinic". They are now outdated, these commands are now safe to use. Backport notes: * Omit Doc/using/configure.rst changes. Co-authored-by: Erlend E. Aasland <erlend@python.org> (cherry picked from commit db1ee6a)
Fix a race condition in "make regen-all". The deepfreeze.c source and files generated by Argument Clinic are now generated or updated before generating "global objects". Previously, some identifiers may miss depending on the order in which these files were generated. * "make regen-global-objects": Make sure that deepfreeze.c is generated and up to date, and always run "make clinic". * "make regen-deepfreeze" now only updates deepfreeze.c (C file). It doesn't build deepfreeze.o (object) anymore. * Remove misleading messages in "make regen-global-objects" and "make clinic". They are now outdated, these commands are now safe to use. Backport notes: * Omit Doc/using/configure.rst changes. * no need to change "make clinic", it didn't run generate_global_objects.py script before. Co-authored-by: Erlend E. Aasland <erlend@python.org> (cherry picked from commit db1ee6a)
bedevere-bot
commented
Sep 6, 2023
GH-109021 is a backport of this pull request to the 3.11 branch. |
vstinner
commented
Sep 6, 2023
@erlend-aasland: You may want to review backports, I had conflicts. |
vstinner
commented
Sep 6, 2023
Thanks for the review @erlend-aasland, I merged my PR. |
bedevere-bot
commented
Sep 6, 2023
|
) gh-108740: Fix "make regen-all" race condition (#108741) Fix a race condition in "make regen-all". The deepfreeze.c source and files generated by Argument Clinic are now generated or updated before generating "global objects". Previously, some identifiers may miss depending on the order in which these files were generated. * "make regen-global-objects": Make sure that deepfreeze.c is generated and up to date, and always run "make clinic". * "make regen-deepfreeze" now only updates deepfreeze.c (C file). It doesn't build deepfreeze.o (object) anymore. * Remove misleading messages in "make regen-global-objects" and "make clinic". They are now outdated, these commands are now safe to use. Backport notes: * Omit Doc/using/configure.rst changes. * no need to change "make clinic", it didn't run generate_global_objects.py script before. Co-authored-by: Erlend E. Aasland <erlend@python.org> (cherry picked from commit db1ee6a)
) gh-108740: Fix "make regen-all" race condition (#108741) Fix a race condition in "make regen-all". The deepfreeze.c source and files generated by Argument Clinic are now generated or updated before generating "global objects". Previously, some identifiers may miss depending on the order in which these files were generated. * "make regen-global-objects": Make sure that deepfreeze.c is generated and up to date, and always run "make clinic". * "make clinic" no longer runs generate_global_objects.py script. * "make regen-deepfreeze" now only updates deepfreeze.c (C file). It doesn't build deepfreeze.o (object) anymore. * Remove misleading messages in "make regen-global-objects" and "make clinic". They are now outdated, these commands are now safe to use. * Document generates files in Doc/using/configure.rst. Co-authored-by: Erlend E. Aasland <erlend@python.org> (cherry picked from commit db1ee6a)
Fix a race condition in "make regen-all". The deepfreeze.c source and files generated by Argument Clinic are now generated or updated before generating "global objects". Previously, some identifiers may miss depending on the order in which these files were generated.