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-99729: Unlink frames before clearing them by brandtbucher · Pull Request #100030 · python/cpython

Conversation

@brandtbucher

@brandtbucher brandtbucher commented Dec 5, 2022 •
edited by bedevere-bot
Loading

Uh oh!

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

Copy link
Copy Markdown
Member

Thanks for your patience with this.

I decided to switch strategies mid-fix after a discussion with @markshannon this morning: instead of hacking the frame to look "incomplete" just before teardown, I think unlinking the frame before clearing it (instead of after) is a better approach that is easier to reason about and keeps extra code out of the hot path when popping frames.

This is going to need a manual backport to 3.11. I'll start on it now to hopefully unblock releases.

CC: @pablogsal

  • Issue: Frame teardown can create frame objects #99729

Sorry, something went wrong.

Uh oh!

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

All reactions
brandtbucher added 4 commits November 26, 2022 03:55
@brandtbucher
Add failing regression test
5070ff9
@brandtbucher
Unlink frames before clearing them
ca87470
@brandtbucher
blurb add
6210626
@brandtbucher
Require working threading for new test
af155c7
@brandtbucher brandtbucher added interpreter-core (Objects, Python, Grammar, and Parser dirs) type-crash A hard crash of the interpreter, possibly with a core dump needs backport to 3.11 only security fixes labels Dec 5, 2022
@brandtbucher
brandtbucher requested a review from markshannon as a code owner December 5, 2022 20:37
@brandtbucher brandtbucher self-assigned this Dec 5, 2022
@bedevere-bot bedevere-bot added the awaiting core review label Dec 5, 2022
@brandtbucher brandtbucher changed the title Frame teardown GH-99729: Unlink frames before clearing them Dec 5, 2022
@bedevere-bot bedevere-bot mentioned this pull request Dec 5, 2022
Frame teardown can create frame objects #99729
Closed
@brandtbucher

brandtbucher commented Dec 5, 2022

Copy link
Copy Markdown
Member Author

Not sure if we want buildbots on this (normally I would run them, but I also don't want to further delay the releases with a bunch of extra CI checks). I'm confident in the fix, though.

All reactions

Sorry, something went wrong.

Uh oh!

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

@pablogsal pablogsal added the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Dec 5, 2022
@bedevere-bot

bedevere-bot commented Dec 5, 2022

Copy link
Copy Markdown

🤖 New build scheduled with the buildbot fleet by @pablogsal for commit 6210626 🤖

If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again.

All reactions

Sorry, something went wrong.

Uh oh!

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

@bedevere-bot bedevere-bot removed the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Dec 5, 2022
@pablogsal

pablogsal commented Dec 5, 2022

Copy link
Copy Markdown
Member

Not sure if we want buildbots on this (normally I would run them, but I also don't want to further delay the releases with a bunch of extra CI checks). I'm confident in the fix, though.

Thanks a lot for fixing this ❤️

I am executing the buildbots at least to see the quick ones to double check there is nothing unexpected. I will manually test Refleaks after before the release.

brandtbucher reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

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

@brandtbucher

brandtbucher commented Dec 5, 2022

Copy link
Copy Markdown
Member Author

Hm, looks like we need to skip the new test on webassembly builds.

All reactions

Sorry, something went wrong.

Uh oh!

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

@brandtbucher brandtbucher added the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Dec 5, 2022
@bedevere-bot

bedevere-bot commented Dec 5, 2022

Copy link
Copy Markdown

🤖 New build scheduled with the buildbot fleet by @brandtbucher for commit af155c7 🤖

If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again.

All reactions

Sorry, something went wrong.

Uh oh!

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

@bedevere-bot bedevere-bot removed the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Dec 5, 2022
@brandtbucher brandtbucher mentioned this pull request Dec 6, 2022
[3.11] GH-99729: Unlink frames before clearing them #100047
Merged
@markshannon

markshannon commented Dec 6, 2022

Copy link
Copy Markdown
Member

Looks good. I think the buildbot failures are unrelated.

All reactions

Sorry, something went wrong.

Uh oh!

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

@pablogsal
pablogsal merged commit b72014c into python:main Dec 6, 2022
@miss-islington

miss-islington commented Dec 6, 2022

Copy link
Copy Markdown
Contributor

Thanks @brandtbucher for the PR, and @pablogsal for merging it 🌮🎉.. I'm working now to backport this PR to: 3.11.
🐍🍒⛏🤖

All reactions

Sorry, something went wrong.

Uh oh!

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

@bedevere-bot bedevere-bot removed the awaiting core review label Dec 6, 2022
@miss-islington

miss-islington commented Dec 6, 2022

Copy link
Copy Markdown
Contributor

Sorry, @brandtbucher and @pablogsal, I could not cleanly backport this to 3.11 due to a conflict.
Please backport using cherry_picker on command line.
cherry_picker b72014c783e5698beb18ee1249597e510b8bcb5a 3.11

All reactions

Sorry, something went wrong.

Uh oh!

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

@miss-islington miss-islington assigned pablogsal and unassigned brandtbucher Dec 6, 2022
@pablogsal

pablogsal commented Dec 6, 2022

Copy link
Copy Markdown
Member

Thanks for fixing this @brandtbucher! ❤️

This is going to need a manual backport to 3.11. I'll start on it now to hopefully unblock releases.

Please, ping me as soon as you have the manual backport ready

All reactions

Sorry, something went wrong.

Uh oh!

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

@brandtbucher

brandtbucher commented Dec 6, 2022

Copy link
Copy Markdown
Member Author

Please, ping me as soon as you have the manual backport ready

I opened it yesterday: #100047

All reactions

Sorry, something went wrong.

Uh oh!

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

@hauntsaninja hauntsaninja removed the needs backport to 3.11 only security fixes label Mar 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@markshannon markshannon Awaiting requested review from markshannon markshannon is a code owner

Uh oh!

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

Assignees

@pablogsal pablogsal

Labels

interpreter-core (Objects, Python, Grammar, and Parser dirs) type-crash A hard crash of the interpreter, possibly with a core dump

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.

6 participants

@brandtbucher @bedevere-bot @pablogsal @markshannon @miss-islington @hauntsaninja
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.