René's URL Explorer Experiment


Title: [WIP] bpo-29672: Save and restore module warning registries in catch_warnings by segevfiner · Pull Request #8232 · python/cpython · GitHub

Open Graph Title: [WIP] bpo-29672: Save and restore module warning registries in catch_warnings by segevfiner · Pull Request #8232 · python/cpython

X Title: [WIP] bpo-29672: Save and restore module warning registries in catch_warnings by segevfiner · Pull Request #8232 · python/cpython

Description: This avoids catch_warnings wiping out all module warning registries due to calling _filters_mutated. Which causes all warnings recorded in those registries to be shown again. I'm not sure if this is the right approach for this, so I'm submitting this incomplete in order to garner feedback, and for answers to the questions in TODO below. TODO Should onceregistry be saved and restored too? A better test? I'm not sure how to test this better since catch_warnings is used for the warnings tests themselves. Consider the order that things are done in catch_warnings.__enter__ and catch_warnings.__exit__, to cause the least disturbance due to threads (It's not thread safe anyhow...) Documentation & NEWS.d obviously https://bugs.python.org/issue29672

Open Graph Description: This avoids catch_warnings wiping out all module warning registries due to calling _filters_mutated. Which causes all warnings recorded in those registries to be shown again. I'm not sure if th...

X Description: This avoids catch_warnings wiping out all module warning registries due to calling _filters_mutated. Which causes all warnings recorded in those registries to be shown again. I'm not sure i...

Opengraph URL: https://github.com/python/cpython/pull/8232

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:3016b8ac-01d4-62dd-4e6f-93529b8c8089
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idA6A6:34E738:A369F0:D7D93A:696B5542
html-safe-nonceb7379f1973a9aafef4dc2897f36ecf51532fe62f153bb8854f4e53740c52472b
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNkE2OjM0RTczODpBMzY5RjA6RDdEOTNBOjY5NkI1NTQyIiwidmlzaXRvcl9pZCI6IjQ5NjA3NDA0NjQ3NjgyNzU3NzkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmacc57bfbe82ae616f352eab160b69479e3c765c13e1f47911f3eaf6770653f794f
hovercard-subject-tagpull_request:200526117
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python/cpython/pull/8232/files
twitter:imagehttps://avatars.githubusercontent.com/u/24731903?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/24731903?s=400&v=4
og:image:altThis avoids catch_warnings wiping out all module warning registries due to calling _filters_mutated. Which causes all warnings recorded in those registries to be shown again. I'm not sure if th...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None5f99f7c1d70f01da5b93e5ca90303359738944d8ab470e396496262c66e60b8d
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/python/cpython git https://github.com/python/cpython.git
octolytics-dimension-user_id1525981
octolytics-dimension-user_loginpython
octolytics-dimension-repository_id81598961
octolytics-dimension-repository_nwopython/cpython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id81598961
octolytics-dimension-repository_network_root_nwopython/cpython
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release82560a55c6b2054555076f46e683151ee28a19bc
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python/cpython/pull/8232/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F8232%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fcpython%2Fpull%2F8232%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=python%2Fcpython
Reloadhttps://github.com/python/cpython/pull/8232/files
Reloadhttps://github.com/python/cpython/pull/8232/files
Reloadhttps://github.com/python/cpython/pull/8232/files
python https://github.com/python
cpythonhttps://github.com/python/cpython
Please reload this pagehttps://github.com/python/cpython/pull/8232/files
Notifications https://github.com/login?return_to=%2Fpython%2Fcpython
Fork 33.9k https://github.com/login?return_to=%2Fpython%2Fcpython
Star 71.1k https://github.com/login?return_to=%2Fpython%2Fcpython
Code https://github.com/python/cpython
Issues 5k+ https://github.com/python/cpython/issues
Pull requests 2.1k https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects 31 https://github.com/python/cpython/projects
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/python/cpython/security
Please reload this pagehttps://github.com/python/cpython/pull/8232/files
Insights https://github.com/python/cpython/pulse
Code https://github.com/python/cpython
Issues https://github.com/python/cpython/issues
Pull requests https://github.com/python/cpython/pulls
Actions https://github.com/python/cpython/actions
Projects https://github.com/python/cpython/projects
Security https://github.com/python/cpython/security
Insights https://github.com/python/cpython/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython%2Fcpython%2Fissues%2Fnew%2Fchoose
segevfinerhttps://github.com/segevfiner
python:mainhttps://github.com/python/cpython/tree/main
segevfiner:bpo-29672-catch-warnings-registries-restorehttps://github.com/segevfiner/cpython/tree/bpo-29672-catch-warnings-registries-restore
Conversation 6 https://github.com/python/cpython/pull/8232
Commits 5 https://github.com/python/cpython/pull/8232/commits
Checks 0 https://github.com/python/cpython/pull/8232/checks
Files changed 6 https://github.com/python/cpython/pull/8232/files
[WIP] bpo-29672: Save and restore module warning registries in catch_warnings https://github.com/python/cpython/pull/8232/files#top
Show all changes 5 commits https://github.com/python/cpython/pull/8232/files
64ceef9 bpo-29672: Save and restore module warning registries in catch_warnings segevfiner Jul 10, 2018 https://github.com/python/cpython/pull/8232/commits/64ceef977edc1c77c02c58d527dc914b15c36807
f5a82a4 Py_XDECREF to Py_DEC_REF segevfiner Dec 1, 2018 https://github.com/python/cpython/pull/8232/commits/f5a82a455af15626ed7681a233032557be8287f2
c08c701 Merge remote-tracking branch 'upstream/main' into bpo-29672-catch-war… segevfiner Feb 21, 2022 https://github.com/python/cpython/pull/8232/commits/c08c7015ae33ae8d55a3c335faef673882e59193
19bac0e Fix build segevfiner Feb 21, 2022 https://github.com/python/cpython/pull/8232/commits/19bac0e49684cc7b95b7db605621247a25da1dee
d6217a4 Fix another issue introduced by the merge segevfiner Feb 21, 2022 https://github.com/python/cpython/pull/8232/commits/d6217a4e7cde317b985f194ca0ef73b55cb2978a
Clear filters https://github.com/python/cpython/pull/8232/files
Please reload this pagehttps://github.com/python/cpython/pull/8232/files
Please reload this pagehttps://github.com/python/cpython/pull/8232/files
pycore_global_strings.h https://github.com/python/cpython/pull/8232/files#diff-7656e411eccd63ff8aab3e11de3f45035665f6b639206d3f440727dfb5e0ebcf
pycore_runtime_init.h https://github.com/python/cpython/pull/8232/files#diff-84d4b72a69538f6e60865f5c0301f102c0dca577e47759ac07d7a9a034ee75a2
__init__.py https://github.com/python/cpython/pull/8232/files#diff-21be9e4809f5cd7dcd4665eb0054b4bf9d924c2c9ce0a010e85dba405e94d9e9
warnings.py https://github.com/python/cpython/pull/8232/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
_warnings.c https://github.com/python/cpython/pull/8232/files#diff-868cb9c3ec7f49459c652319e480e03ee132976b45fbedacb94958f8e0a9ea58
generate_global_objects.py https://github.com/python/cpython/pull/8232/files#diff-ad359646e0c8415e52c226689246e618e18c705b2717cfbcde541749638d7d37
Include/internal/pycore_global_strings.hhttps://github.com/python/cpython/pull/8232/files#diff-7656e411eccd63ff8aab3e11de3f45035665f6b639206d3f440727dfb5e0ebcf
View file https://github.com/python/cpython/blob/d6217a4e7cde317b985f194ca0ef73b55cb2978a/Include/internal/pycore_global_strings.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/8232/{{ revealButtonHref }}
https://github.com/python/cpython/pull/8232/files#diff-7656e411eccd63ff8aab3e11de3f45035665f6b639206d3f440727dfb5e0ebcf
https://github.com/python/cpython/pull/8232/files#diff-7656e411eccd63ff8aab3e11de3f45035665f6b639206d3f440727dfb5e0ebcf
https://github.com/python/cpython/blob/main/.github/CODEOWNERS#L312
Include/internal/pycore_runtime_init.hhttps://github.com/python/cpython/pull/8232/files#diff-84d4b72a69538f6e60865f5c0301f102c0dca577e47759ac07d7a9a034ee75a2
View file https://github.com/python/cpython/blob/d6217a4e7cde317b985f194ca0ef73b55cb2978a/Include/internal/pycore_runtime_init.h
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/8232/{{ revealButtonHref }}
https://github.com/python/cpython/pull/8232/files#diff-84d4b72a69538f6e60865f5c0301f102c0dca577e47759ac07d7a9a034ee75a2
https://github.com/python/cpython/pull/8232/files#diff-84d4b72a69538f6e60865f5c0301f102c0dca577e47759ac07d7a9a034ee75a2
Lib/test/test_warnings/__init__.pyhttps://github.com/python/cpython/pull/8232/files#diff-21be9e4809f5cd7dcd4665eb0054b4bf9d924c2c9ce0a010e85dba405e94d9e9
View file https://github.com/python/cpython/blob/d6217a4e7cde317b985f194ca0ef73b55cb2978a/Lib/test/test_warnings/__init__.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/8232/{{ revealButtonHref }}
https://github.com/python/cpython/pull/8232/files#diff-21be9e4809f5cd7dcd4665eb0054b4bf9d924c2c9ce0a010e85dba405e94d9e9
https://github.com/python/cpython/pull/8232/files#diff-21be9e4809f5cd7dcd4665eb0054b4bf9d924c2c9ce0a010e85dba405e94d9e9
Lib/warnings.pyhttps://github.com/python/cpython/pull/8232/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
View file https://github.com/python/cpython/blob/d6217a4e7cde317b985f194ca0ef73b55cb2978a/Lib/warnings.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/8232/{{ revealButtonHref }}
https://github.com/python/cpython/pull/8232/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
https://github.com/python/cpython/pull/8232/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
https://github.com/python/cpython/pull/8232/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
https://github.com/python/cpython/pull/8232/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
https://github.com/python/cpython/pull/8232/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
https://github.com/python/cpython/pull/8232/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
https://github.com/python/cpython/pull/8232/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
https://github.com/python/cpython/pull/8232/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
https://github.com/python/cpython/pull/8232/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
https://github.com/python/cpython/pull/8232/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
https://github.com/python/cpython/pull/8232/files#diff-1d0c2ffbcb01254c4ab02053d85527be50e03ea2908dc6cdba9fc185b8df9b7b
Python/_warnings.chttps://github.com/python/cpython/pull/8232/files#diff-868cb9c3ec7f49459c652319e480e03ee132976b45fbedacb94958f8e0a9ea58
View file https://github.com/python/cpython/blob/d6217a4e7cde317b985f194ca0ef73b55cb2978a/Python/_warnings.c
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/8232/{{ revealButtonHref }}
https://github.com/python/cpython/pull/8232/files#diff-868cb9c3ec7f49459c652319e480e03ee132976b45fbedacb94958f8e0a9ea58
Please reload this pagehttps://github.com/python/cpython/pull/8232/files
https://github.com/python/cpython/pull/8232/files#diff-868cb9c3ec7f49459c652319e480e03ee132976b45fbedacb94958f8e0a9ea58
https://github.com/python/cpython/pull/8232/files#diff-868cb9c3ec7f49459c652319e480e03ee132976b45fbedacb94958f8e0a9ea58
https://github.com/python/cpython/pull/8232/files#diff-868cb9c3ec7f49459c652319e480e03ee132976b45fbedacb94958f8e0a9ea58
https://github.com/python/cpython/pull/8232/files#diff-868cb9c3ec7f49459c652319e480e03ee132976b45fbedacb94958f8e0a9ea58
https://github.com/python/cpython/pull/8232/files#diff-868cb9c3ec7f49459c652319e480e03ee132976b45fbedacb94958f8e0a9ea58
https://github.com/python/cpython/pull/8232/files#diff-868cb9c3ec7f49459c652319e480e03ee132976b45fbedacb94958f8e0a9ea58
Tools/scripts/generate_global_objects.pyhttps://github.com/python/cpython/pull/8232/files#diff-ad359646e0c8415e52c226689246e618e18c705b2717cfbcde541749638d7d37
View file https://github.com/python/cpython/blob/d6217a4e7cde317b985f194ca0ef73b55cb2978a/Tools/scripts/generate_global_objects.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python/cpython/pull/8232/{{ revealButtonHref }}
https://github.com/python/cpython/pull/8232/files#diff-ad359646e0c8415e52c226689246e618e18c705b2717cfbcde541749638d7d37
https://github.com/python/cpython/pull/8232/files#diff-ad359646e0c8415e52c226689246e618e18c705b2717cfbcde541749638d7d37
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.