Skip to content

Update for 3.15.0b4#337

Open
godlygeek wants to merge 1 commit into
bloomberg:mainfrom
godlygeek:update_for_3.15.0b4
Open

Update for 3.15.0b4#337
godlygeek wants to merge 1 commit into
bloomberg:mainfrom
godlygeek:update_for_3.15.0b4

Conversation

@godlygeek

Copy link
Copy Markdown
Contributor

An ABI-breaking change was introduced in Python 3.14.0b4 that changed the layout of the _Py_DebugOffsets structure. Update to require the new layout.

An ABI-breaking change was introduced in Python 3.14.0b4 that changed
the layout of the `_Py_DebugOffsets` structure. Update to require the
new layout.

Signed-off-by: Matt Wozniski <mwozniski@bloomberg.net>
@godlygeek godlygeek self-assigned this Jul 22, 2026
@godlygeek

godlygeek commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

And this is indeed the only ABI breaking change to the debug offsets in the latest beta:

$ git diff v3.15.0b3..v3.15.0b4 ./Include/internal/pycore_debug_offsets.h
diff --git a/Include/internal/pycore_debug_offsets.h b/Include/internal/pycore_debug_offsets.h
index 18490f98a91..6e1eb573c8c 100644
--- a/Include/internal/pycore_debug_offsets.h
+++ b/Include/internal/pycore_debug_offsets.h
@@ -104,6 +104,7 @@ typedef struct _Py_DebugOffsets {
         uint64_t current_frame;
         uint64_t base_frame;
         uint64_t last_profiled_frame;
+        uint64_t last_profiled_frame_seq;
         uint64_t thread_id;
         uint64_t native_thread_id;
         uint64_t datastack_chunk;
@@ -294,6 +295,7 @@ typedef struct _Py_DebugOffsets {
         .current_frame = offsetof(PyThreadState, current_frame), \
         .base_frame = offsetof(PyThreadState, base_frame), \
         .last_profiled_frame = offsetof(PyThreadState, last_profiled_frame), \
+        .last_profiled_frame_seq = offsetof(PyThreadState, last_profiled_frame_seq), \
         .thread_id = offsetof(PyThreadState, thread_id), \
         .native_thread_id = offsetof(PyThreadState, native_thread_id), \
         .datastack_chunk = offsetof(PyThreadState, datastack_chunk), \

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.63%. Comparing base (1d399fa) to head (1aad1a6).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #337   +/-   ##
=======================================
  Coverage   77.63%   77.63%           
=======================================
  Files          57       57           
  Lines        6601     6601           
  Branches      628      628           
=======================================
  Hits         5125     5125           
  Misses       1476     1476           
Flag Coverage Δ
cpp 77.63% <ø> (ø)
python 77.63% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants