-
-
Notifications
You must be signed in to change notification settings - Fork 34.5k
bpo-1635741: Enable unicode_release_interned() without insure or valgrind. #21087
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 7 commits
ed3cd98
3c8db50
03f650d
b2e578d
4618783
8b47de1
33272ac
ec1671b
b0da3bd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1260,13 +1260,13 @@ finalize_interp_types(PyThreadState *tstate, int is_main_interp) | |
| _PyContext_Fini(tstate); | ||
|
|
||
| _PyDict_Fini(tstate); | ||
| _PyList_Fini(tstate); | ||
| _PyTuple_Fini(tstate); | ||
|
|
||
| _PySlice_Fini(tstate); | ||
|
|
||
| _PyBytes_Fini(tstate); | ||
| _PyUnicode_Fini(tstate); | ||
| _PyList_Fini(tstate); | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why do you clear list after unicode? The rationale of the current code is that a list can contains slice, unicode, etc. So list must be cleared first.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. oh the assert failed: python: Objects/listobject.c:144: PyList_New: Assertion `state->numfree != -1' failed. the traceback:
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. copy from the failed ci gate:
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hum, maybe unicode_release_interned() must use PyDict_Next() to iterate on the dict, rather than calling PyDict_Keys() which creates a new list.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks, I will try it.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this line can not reverted now, because many assert failed in dictobject.c:
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. could we remove those asserts? I don't know there are some risks or not after we remove those asserts.
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The above traceback is about PyDict_Fini(), not PyList_Fini().
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Hi, victor. I have a question about it: if we broke the clear order, there will be some resource leak in here?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Or |
||
| _PyFloat_Fini(tstate); | ||
| _PyLong_Fini(tstate); | ||
| } | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.