Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.3k
gh-94808: CoverPyFunction_GetCode,PyFunction_GetGlobals,PyFunction_GetModule#98158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
…`PyFunction_GetModule`
| { | ||
| PyObject*code=PyFunction_GetCode(func); | ||
| if (code!=NULL) { | ||
| Py_INCREF(code); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Should thisPy_INCREF be here? Shouldn't callee do this? 🤔
Without it I have this error:
test_function_get_module (test.test_capi.CAPITest.test_function_get_module) ... ok----------------------------------------------------------------------Ran 1 test in 0.001sOK== Tests result: SUCCESS ==1 test OK.Total duration: 242 msTests result: SUCCESS./Include/object.h:625: _Py_NegativeRefcount: Assertion failed: object has negative ref count<object at 0x1082424d0 is freed>Fatal Python error: _PyObject_AssertFailed: _PyObject_AssertFailedPython runtime state: finalizing (tstate=0x000000010759c6d0)Current thread 0x000000011215d5c0 (most recent call first): <no Python frame>[1] 92538 abort ./python.exe -m test -v test_capi -m test_function_get_moduleThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Cc:@markshannon as it pertains to code objects.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I think this is correct,PyFunction_GetCode is documented as returning a borrowed ref:https://docs.python.org/3/c-api/function.html#c.PyFunction_GetCode
bedevere-bot commentedOct 10, 2022
miss-islington commentedOct 16, 2022
Thanks@sobolevn for the PR, and@JelleZijlstra for merging it 🌮🎉.. I'm working now to backport this PR to: 3.11. |
miss-islington commentedOct 16, 2022
Sorry,@sobolevn and@JelleZijlstra, I could not cleanly backport this to |
bedevere-bot commentedOct 16, 2022
GH-98317 is a backport of this pull request to the3.11 branch. |
…bals`, `PyFunction_GetModule` (pythonGH-98158).(cherry picked from commit7b48d02)Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
* main: (31 commits)pythongh-95913: Move subinterpreter exper removal to 3.11 WhatsNew (pythonGH-98345)pythongh-95914: Add What's New item describing PEP 670 changes (python#98315) Remove unused arrange_output_buffer function from zlibmodule.c. (pythonGH-98358)pythongh-98174: Handle EPROTOTYPE under macOS in test_sendfile_fallback_close_peer_in_the_middle_of_receiving (python#98316)pythonGH-98327: Reduce scope of catch_warnings() in _make_subprocess_transport (python#98333)pythongh-93691: Compiler's code-gen passes location around instead of holding it on the global compiler state (pythonGH-98001)pythongh-97669: Create Tools/build/ directory (python#97963)pythongh-95534: Improve gzip reading speed by 10% (python#97664)pythongh-95913: Forward-port int/str security change to 3.11 What's New in main (python#98344)pythonGH-91415: Mention alphabetical sort ordering in the Sorting HOWTO (pythonGH-98336)pythongh-97930: Merge with importlib_resources 5.9 (pythonGH-97929)pythongh-85525: Remove extra row in doc (python#98337)pythongh-85299: Add note warning about entry point guard for asyncio example (python#93457)pythongh-97527: IDLE - fix buggy macosx patch (python#98313)pythongh-98307: Add docstring and documentation for SysLogHandler.createSocket (pythonGH-98319)pythongh-94808: Cover `PyFunction_GetCode`, `PyFunction_GetGlobals`, `PyFunction_GetModule` (python#98158)pythonGH-94597: Deprecate child watcher getters and setters (python#98215)pythongh-98254: Include stdlib module names in error messages for NameErrors (python#98255) Improve speed. Reduce auxiliary memory to 16.6% of the main array. (pythonGH-98294) [doc] Update logging cookbook with an example of custom handling of levels. (pythonGH-98290) ...
Uh oh!
There was an error while loading.Please reload this page.
In the next PRs I will cover
PyFunction_*methods with setters.