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-144446: Fix _PyFrame_GetFrameObject() for test_cppext (C++) by vstinner · Pull Request #156893 · python/cpython

Conversation

@vstinner

@vstinner vstinner commented Sep 3, 2026 •
edited by bedevere-app Bot
Loading

Uh oh!

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

Copy link
Copy Markdown
Member

Do an explicit cast to fix the C++ compiler warning:

In file included from Include/internal/pycore_object.h:13,
from Include/internal/pycore_cell.h:5,
from extension.cpp:29:
Include/internal/pycore_interpframe.h: In function 'PyFrameObject*
_PyFrame_GetFrameObject(_PyInterpreterFrame*)':
Include/internal/pycore_pyatomic_ft_wrappers.h:33:32: error:
invalid conversion from 'void*' to 'PyFrameObject*' {aka '_frame*'}
[-fpermissive]
33 | _Py_atomic_load_ptr_acquire(&value)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
| |
| void*
Include/internal/pycore_interpframe.h:348:26: note: in expansion of
macro 'FT_ATOMIC_LOAD_PTR_ACQUIRE'
348 | PyFrameObject *res = FT_ATOMIC_LOAD_PTR_ACQUIRE(frame->frame_obj);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~

  • Issue: Data races with frame objects #144446

Sorry, something went wrong.

Uh oh!

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

All reactions
@vstinner
pythongh-144446: Fix _PyFrame_GetFrameObject() for test_cppext (C++)
633171b
Do an explicit cast to fix the C++ compiler warning:

  In file included from Include/internal/pycore_object.h:13,
                   from Include/internal/pycore_cell.h:5,
                   from extension.cpp:29:
  Include/internal/pycore_interpframe.h: In function 'PyFrameObject*
  _PyFrame_GetFrameObject(_PyInterpreterFrame*)':
  Include/internal/pycore_pyatomic_ft_wrappers.h:33:32: error:
  invalid conversion from 'void*' to 'PyFrameObject*' {aka '_frame*'}
  [-fpermissive]
     33 |     _Py_atomic_load_ptr_acquire(&value)
        |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
        |                                |
        |                                void*
  Include/internal/pycore_interpframe.h:348:26: note: in expansion of
  macro 'FT_ATOMIC_LOAD_PTR_ACQUIRE'
    348 |     PyFrameObject *res = FT_ATOMIC_LOAD_PTR_ACQUIRE(frame->frame_obj);
        |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
@vstinner vstinner added the skip news label Sep 3, 2026
@bedevere-app bedevere-app Bot mentioned this pull request Sep 3, 2026
Data races with frame objects #144446
Open
2 of 3 tasks
@bedevere-app bedevere-app Bot added the awaiting core review label Sep 3, 2026
@vstinner

vstinner commented Sep 3, 2026

Copy link
Copy Markdown
Member Author

test_cppext started to fail on AMD64 Alpine Linux NoGIL 3.x: https://buildbot.python.org/#/builders/1819/builds/2983

commit db92901 introduced this change:

-    PyFrameObject *res =  frame->frame_obj;
+    PyFrameObject *res = FT_ATOMIC_LOAD_PTR_ACQUIRE(frame->frame_obj);
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 3, 2026
gh-155561: Use multi-phase init for Modules/_testlimitedcapi.c #156052
Merged
@vstinner

vstinner commented Sep 3, 2026

Copy link
Copy Markdown
Member Author

test_cppext also fails on the "AMD64 CentOS9 NoGIL 3.x" buildbot since the build: https://buildbot.python.org/#/builders/1609/builds/6887

All reactions

Sorry, something went wrong.

Uh oh!

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

@vstinner

vstinner commented Sep 3, 2026

Copy link
Copy Markdown
Member Author

!buildbot AMD64 CentOS9 NoGIL

All reactions

Sorry, something went wrong.

Uh oh!

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

@bedevere-bot

bedevere-bot commented Sep 3, 2026

Copy link
Copy Markdown

🤖 New build scheduled with the buildbot fleet by @vstinner for commit 633171b 🤖

Results will be shown at:

https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F156893%2Fmerge

The command will test the builders whose names match following regular expression: AMD64 CentOS9 NoGIL

The builders matched are:

  • AMD64 CentOS9 NoGIL PR
  • AMD64 CentOS9 NoGIL Refleaks PR
All reactions

Sorry, something went wrong.

Uh oh!

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

@vstinner

vstinner commented Sep 3, 2026

Copy link
Copy Markdown
Member Author

!buildbot AMD64 Alpine Linux NoGIL PR

All reactions

Sorry, something went wrong.

Uh oh!

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

@bedevere-bot

bedevere-bot commented Sep 3, 2026

Copy link
Copy Markdown

🤖 New build scheduled with the buildbot fleet by @vstinner for commit 633171b 🤖

Results will be shown at:

https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F156893%2Fmerge

The command will test the builders whose names match following regular expression: AMD64 Alpine Linux NoGIL PR

The builders matched are:

  • AMD64 Alpine Linux NoGIL PR
All reactions

Sorry, something went wrong.

Uh oh!

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

kumaraditya303
kumaraditya303 approved these changes Sep 3, 2026
View reviewed changes
@bedevere-app bedevere-app Bot added awaiting merge and removed awaiting core review labels Sep 3, 2026
@vstinner
vstinner merged commit 4dd225e into python:main Sep 3, 2026
61 checks passed

Uh oh!

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

@vstinner
vstinner deleted the alpine_internal branch September 3, 2026 14:17
@bedevere-app bedevere-app Bot removed the awaiting merge label Sep 3, 2026
@vstinner

vstinner commented Sep 3, 2026

Copy link
Copy Markdown
Member Author

test_cppext passed on "buildbot/AMD64 CentOS9 NoGIL PR".

I merged my PR. Thanks for the review @kumaraditya303.

All reactions

Sorry, something went wrong.

Uh oh!

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

clin1234 pushed a commit to clin1234/cpython that referenced this pull request Sep 12, 2026
@vstinner @clin1234
pythongh-144446: Fix _PyFrame_GetFrameObject() for test_cppext (C++) (p…
0bcdddd
…ython#156893)

Do an explicit cast to fix the C++ compiler warning:

  In file included from Include/internal/pycore_object.h:13,
                   from Include/internal/pycore_cell.h:5,
                   from extension.cpp:29:
  Include/internal/pycore_interpframe.h: In function 'PyFrameObject*
  _PyFrame_GetFrameObject(_PyInterpreterFrame*)':
  Include/internal/pycore_pyatomic_ft_wrappers.h:33:32: error:
  invalid conversion from 'void*' to 'PyFrameObject*' {aka '_frame*'}
  [-fpermissive]
     33 |     _Py_atomic_load_ptr_acquire(&value)
        |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
        |                                |
        |                                void*
  Include/internal/pycore_interpframe.h:348:26: note: in expansion of
  macro 'FT_ATOMIC_LOAD_PTR_ACQUIRE'
    348 |     PyFrameObject *res = FT_ATOMIC_LOAD_PTR_ACQUIRE(frame->frame_obj);
        |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@kumaraditya303 kumaraditya303 kumaraditya303 approved these changes

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 @bedevere-bot @kumaraditya303
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.