GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||
GeezerVison is showing github.com — gh-124984: Fix `ssl` thread safety by ZeroIntensity · Pull Request #124993 · python/cpython Conversation
|
|
Remaining question: should we backport this enhancement (bugfix?) to Python 3.13? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Yeah, I had the same thought. I'll leave that decision to @Yhg1s |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Backport this to 3.13? Uuhm... No. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Without this change, the |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
I think that fixing the SSL module crash in the 3.13 free threading build is important -- lots of basic tasks around HTTP requests are likely to crash without it. I don't think "lines of code changed" is a good measure of the complexity here -- the If backporting this PR is a nonstarter than we should consider a smaller, more targeted change that only adds |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Also, thank you @ZeroIntensity for fixing this bug and @vstinner, @corona10, and everyone else that reviewed the PR. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Thanks @ZeroIntensity for the PR, and @vstinner for merging it 🌮🎉.. I'm working now to backport this PR to: 3.13. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Sorry, @ZeroIntensity and @vstinner, I could not cleanly backport this to |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@ZeroIntensity: Automated backport failed. Would you mind to backport the change manually? With a backport, it might be easier to take a decision on fixing 3.13 or not. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Yeah, I can do it later today. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
GH-125780 is a backport of this pull request to the 3.13 branch. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Make SSL objects thread safe in Free Theaded build by using critical sections. (cherry picked from commit 4c53b25) Co-authored-by: Peter Bierma <[email protected]> Co-authored-by: Bénédikt Tran <[email protected]>
|
@Yhg1s: Are you still against the backport to 3.13 after @colesbury's comment? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I'm okay with a backport of just the @critical_section changes (since those expand to nothing in the normal build, and the free-threaded build is experimental anyway). It's the larger refactorings that worry me. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Other changes are tests and changes to use the code declared with |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
There isn't any other refactoring going on here, I just had to switch the getters and setters over to AC for the critical section. Another issue is that not backporting this to 3.13 will also hurt any automatic backports for |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Make SSL objects thread safe in Free Theaded build by using critical sections. (cherry picked from commit 4c53b25) Co-authored-by: Peter Bierma <[email protected]> Co-authored-by: Bénédikt Tran <[email protected]>
Make SSL objects thread safe in Free Theaded build by using critical sections. Co-authored-by: Bénédikt Tran <[email protected]>
| #endif | ||
| #if defined(_SSL__SSLCONTEXT_SECURITY_LEVEL_GETSETDEF) | ||
| # undef _SSL__SSLCONTEXT_SECURITY_LEVEL_GETSETDEF | ||
| # define _SSL__SSLCONTEXT_SECURITY_LEVEL_GETSETDEF {"security_level", (getter)_ssl__SSLContext_security_level_get, (setter)_ssl__SSLContext_security_level_set, _ssl__SSLContext_security_level_DOCSTR}, |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
The symbol _ssl__SSLContext_security_level_set is used here, but nowhere added
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
This is generated clinic code. I'm pretty sure this route is never taken, and the macro right after this is used instead.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Oh, thank you. I didn't know that
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.