Bug 2062182
Summary: | systemtap fails to build with Python 3.11: error: storage size of _dummy_frame isn't known | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Tomáš Hrnčiar <thrnciar> |
Component: | systemtap | Assignee: | Stan Cox <scox> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | amerey, dsmith, fche, mcermak, mhroncok, mjw, scox, thrnciar, wcohen |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2022-07-14 20:52:27 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 2016048, 2045102, 2045109 |
Description
Tomáš Hrnčiar
2022-03-09 10:38:11 UTC
Thanks for the advanced heads-up. We can probably make this work fine via the new API functions on new enough python. *** Bug 2099178 has been marked as a duplicate of this bug. *** Systemtap mostly uses the C code to grab the PyFrameObject and then it uses a systemtap tapset to do the actual manipulation. That can be changed to use the access functions where available: systemtap uses switch to: f_back PyFrame_GetBack(). f_code PyFrame_GetCode() f_globals PyFrame_GetGlobals() f_lasti PyFrame_GetLasti() f_lineno PyFrame_GetLineNumber() That leaves f_localsplus (can f_frame.localsplus be accessed?) (used to get local variable names) f_trace (used to get lineno, is this check needed?) if (@Py3FrameObject(frame)->f_trace) return @Py3FrameObject(frame)->f_lineno Peripherally related: builds okay with python3-3.10.5-2.fc36.x86_64 but a field reference in the tapset fails: unable to find member 'co_lnotab' for struct PyCodeObject systemtap-4.8~pre16578235g069e109c-1.fc37 fixes the buildability problems; fixes for remaining tapset problems are underway |