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 — [3.12] gh-104690: thread_run() checks for tstate dangling pointer (#109056) by vstinner · Pull Request #109133 · python/cpython

Conversation

@vstinner

@vstinner vstinner commented Sep 8, 2023 •
edited by bedevere-bot
Loading

Uh oh!

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

Copy link
Copy Markdown
Member

thread_run() of _threadmodule.c now calls
_PyThreadState_CheckConsistency() to check if tstate is a dangling pointer when Python is built in debug mode.

Rename ceval_gil.c is_tstate_valid() to
_PyThreadState_CheckConsistency() to reuse it in _threadmodule.c.

(cherry picked from commit f63d378)

  • Issue: Threads started in exit handler are still running after their thread states are destroyed #104690

Sorry, something went wrong.

Uh oh!

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

All reactions
@vstinner
pythongh-104690: thread_run() checks for tstate dangling pointer (pyt…
97dd3c2
…hon#109056)

thread_run() of _threadmodule.c now calls
_PyThreadState_CheckConsistency() to check if tstate is a dangling
pointer when Python is built in debug mode.

Rename ceval_gil.c is_tstate_valid() to
_PyThreadState_CheckConsistency() to reuse it in _threadmodule.c.

(cherry picked from commit f63d378)
@bedevere-bot bedevere-bot added the awaiting core review label Sep 8, 2023
This was referenced Sep 8, 2023
Threads started in exit handler are still running after their thread states are destroyed #104690
Closed
gh-104690: thread_run() checks for tstate dangling pointer #109056
Merged
@bedevere-bot bedevere-bot added the skip news label Sep 8, 2023
@vstinner vstinner mentioned this pull request Sep 8, 2023
gh-108987: Fix _thread.start_new_thread() race condition #109135
Merged
@Yhg1s

Yhg1s commented Sep 12, 2023

Copy link
Copy Markdown
Member

FYI, I'm delaying this until 3.12.1.

All reactions

Sorry, something went wrong.

Uh oh!

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

@vstinner

vstinner commented Sep 14, 2023

Copy link
Copy Markdown
Member Author

Note for myself: when this change is backported to 3.12, I should also backport #109135 which is the real fix. This change only provides a better error message when the bug occurs.

All reactions

Sorry, something went wrong.

Uh oh!

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

@vstinner vstinner mentioned this pull request Sep 14, 2023
test_threading fails and crashes when rerun #108987
Closed
@vstinner vstinner mentioned this pull request Sep 25, 2023
gh-109795: _thread.start_new_thread: allocate thread bootstate using raw memory allocator #109808
Merged
@Yhg1s
Yhg1s merged commit 30748d3 into python:3.12 Oct 2, 2023
@bedevere-app bedevere-app Bot removed the awaiting core review label Oct 2, 2023
@vstinner
vstinner deleted the tstate_consistency312 branch October 4, 2023 10:15
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

@vstinner @Yhg1s @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.