GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-76785: Use Pending Calls When Releasing Cross-Interpreter Data by ericsnowcurrently · Pull Request #109556 · python/cpython

Conversation

@ericsnowcurrently

@ericsnowcurrently ericsnowcurrently commented Sep 18, 2023 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

This fixes some crashes in the _xxinterpchannels module, due to a race between interpreters.

(Backporting this to 3.12 will have to be done in a way that does not introduce the new _PyCrossInterpreterData_ReleaseAndRawFree() into the public ABI.)

  • Issue: [subinterpreters] PEP 554 implementation: add interpreters module #76785

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
ericsnowcurrently added 9 commits August 30, 2023 16:10
@ericsnowcurrently
Use the raw allocator.
fb807e3
@ericsnowcurrently
Drop the unnecessary arg to _release_xid_data().
e96eefc
@ericsnowcurrently
Pass a flag to _release_xid_data().
53e1029
@ericsnowcurrently
Add the _Py_pending_call_func typedef.
8ef9b95
@ericsnowcurrently
Do not bother freeing the data if not set.
daa7f32
@ericsnowcurrently
Use pending calls when releasing cross-interpreter data.
5d94456
@ericsnowcurrently
Use _release_xidata_pending() indirectly.
c610c41
@ericsnowcurrently
Optionally free the provided XID after releasing.
1d12503
@ericsnowcurrently
Add _PyCrossInterpreterData_ReleaseAndRawFree().
0b5a84a
@ericsnowcurrently ericsnowcurrently added skip news needs backport to 3.12 only security fixes labels Sep 18, 2023
@bedevere-app bedevere-app Bot added the awaiting review label Sep 18, 2023
@bedevere-app bedevere-app Bot mentioned this pull request Sep 18, 2023
[subinterpreters] PEP 554 implementation: add interpreters module #76785
Closed
ericsnowcurrently added 2 commits September 19, 2023 11:09
@ericsnowcurrently
Fix _release_xid_data().
ac9d0db
@ericsnowcurrently
Do not directly free the XI data in _channelitem_clear().
f38f44b
@ericsnowcurrently
ericsnowcurrently merged commit fd7e08a into python:main Sep 19, 2023
@miss-islington

miss-islington commented Sep 19, 2023

Copy link
Copy Markdown
Contributor

Thanks @ericsnowcurrently for the PR 🌮🎉.. I'm working now to backport this PR to: 3.12.
🐍🍒⛏🤖

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the awaiting review label Sep 19, 2023
@ericsnowcurrently
ericsnowcurrently deleted the fix-channels branch September 19, 2023 21:01
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request Sep 19, 2023
@ericsnowcurrently @miss-islington
pythongh-76785: Use Pending Calls When Releasing Cross-Interpreter Da…
9b79723
…ta (pythongh-109556)

This fixes some crashes in the _xxinterpchannels module, due to a race between interpreters.
(cherry picked from commit fd7e08a)

Co-authored-by: Eric Snow <[email protected]>
@bedevere-app

bedevere-app Bot commented Sep 19, 2023

Copy link
Copy Markdown

GH-109586 is a backport of this pull request to the 3.12 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the needs backport to 3.12 only security fixes label Sep 19, 2023
@bedevere-bot

This comment was marked as off-topic.

Sign in to view
@bedevere-bot

This comment was marked as off-topic.

Sign in to view
@bedevere-bot

This comment was marked as off-topic.

Sign in to view
@bedevere-bot

This comment was marked as off-topic.

Sign in to view
@ericsnowcurrently ericsnowcurrently mentioned this pull request Sep 25, 2023
PyThreadState Sometimes Used for Different Threads for Subinterpreters #109860
Closed
csm10495 pushed a commit to csm10495/cpython that referenced this pull request Sep 28, 2023
@ericsnowcurrently @csm10495
pythongh-76785: Use Pending Calls When Releasing Cross-Interpreter Da…
fad1dac
…ta (pythongh-109556)

This fixes some crashes in the _xxinterpchannels module, due to a race between interpreters.
ericsnowcurrently added a commit to ericsnowcurrently/cpython that referenced this pull request Oct 12, 2023
@ericsnowcurrently
pythongh-76785: Use Pending Calls When Releasing Cross-Interpreter Da…
b1e4a24
…ta (pythongh-109556)

This fixes some crashes in the _xxinterpchannels module, due to a race between interpreters.
(cherry picked from commit fd7e08a)

Co-authored-by: Eric Snow <[email protected]>
@bedevere-app

bedevere-app Bot commented Nov 20, 2023

Copy link
Copy Markdown

GH-112288 is a backport of this pull request to the 3.12 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

ericsnowcurrently added a commit that referenced this pull request Nov 27, 2023
@ericsnowcurrently
[3.12] gh-76785: Use Pending Calls When Releasing Cross-Interpreter D…
592a849
…ata (gh-109556) (gh-112288)

This fixes some crashes in the _xxinterpchannels module, due to a race between interpreters.
(cherry picked from commit fd7e08a)
Glyphack pushed a commit to Glyphack/cpython that referenced this pull request Sep 2, 2024
@ericsnowcurrently @Glyphack
pythongh-76785: Use Pending Calls When Releasing Cross-Interpreter Da…
decde2f
…ta (pythongh-109556)

This fixes some crashes in the _xxinterpchannels module, due to a race between interpreters.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

skip news

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@ericsnowcurrently @miss-islington @bedevere-bot
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.