Uh oh!
There was an error while loading. Please reload this page.
gh-99184: Bypass instance attribute access in repr of weakref.ref - #99244
Merged
Conversation
sobolevn
commented
Nov 8, 2022
| @@ -170,10 +170,7 @@ weakref_repr(PyWeakReference *self) | |||
| } | |||
| Py_INCREF(obj); | |||
MemberAuthor
There was a problem hiding this comment.
Yes, without it:
Fatal Python error: _PyObject_AssertFailed: _PyObject_AssertFailed
Python runtime state: initialized
Current thread 0x00000001039365c0 (most recent call first):
File "/Users/sobolev/Desktop/cpython/Lib/test/test_weakref.py", line 116 in test_basic_ref
File "/Users/sobolev/Desktop/cpython/Lib/unittest/case.py", line 579 in _callTestMethod
sobolevn
commented
Dec 24, 2022
MemberAuthor
You were suggested reviewers :) |
MemberAuthor
Note for reviewers about dynamic >>>importweakref>>>classA: ...
... >>>a=A()
>>>w=weakref.ref(a)
>>>a1=A()
>>>a1.__weakref__>>>a1.__weakref__=wTraceback (mostrecentcalllast):
File"<stdin>", line1, in<module>AttributeError: attribute'__weakref__'of'A'objectsisnotwritableBut, as you can see it is not writable. So, it should not affect anything really. |
bedevere-bot
commented
Mar 27, 2023
bedevere-bot
commented
Mar 27, 2023
bedevere-bot
commented
Mar 27, 2023
miss-islington
commented
Apr 24, 2023
Contributor
miss-islington pushed a commit
to miss-islington/cpython
that referenced
this pull request
Apr 24, 2023
…f.ref` (pythonGH-99244) (cherry picked from commit 58b6be3) Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
bedevere-bot
commented
Apr 24, 2023
GH-103789 is a backport of this pull request to the 3.11 branch. |
carljm pushed a commit
that referenced
this pull request
Apr 24, 2023
carljm added a commit
to carljm/cpython
that referenced
this pull request
Apr 24, 2023
* main: (53 commits) pythongh-102498 Clean up unused variables and imports in the email module (python#102482) pythongh-99184: Bypass instance attribute access in `repr` of `weakref.ref` (python#99244) pythongh-99032: datetime docs: Encoding is no longer relevant (python#93365) pythongh-94300: Update datetime.strptime documentation (python#95318) pythongh-103776: Remove explicit uses of $(SHELL) from Makefile (pythonGH-103778) pythongh-87092: fix a few cases of incorrect error handling in compiler (python#103456) pythonGH-103727: Avoid advancing tokenizer too far in f-string mode (pythonGH-103775) Revert "Add tests for empty range equality (python#103751)" (python#103770) pythongh-94518: Port 23-argument `_posixsubprocess.fork_exec` to Argument Clinic (python#94519) pythonGH-65022: Fix description of copyreg.pickle function (python#102656) pythongh-103323: Get the "Current" Thread State from a Thread-Local Variable (pythongh-103324) pythongh-91687: modernize dataclass example typing (python#103773) pythongh-103746: Test `types.UnionType` and `Literal` types together (python#103747) pythongh-103765: Fix 'Warning: py:class reference target not found: ModuleSpec' (pythonGH-103769) pythongh-87452: Improve the Popen.returncode docs Removed unnecessary escaping of asterisks (python#103714) pythonGH-102973: Slim down Fedora packages in the dev container (python#103283) pythongh-103091: Add PyUnstable_Type_AssignVersionTag (python#103095) Add tests for empty range equality (python#103751) pythongh-103712: Increase the length of the type name in AttributeError messages (python#103713) ...
carljm added a commit
to carljm/cpython
that referenced
this pull request
Apr 24, 2023
* superopt: (82 commits) pythongh-101517: fix line number propagation in code generated for except* (python#103550) pythongh-103780: Use patch instead of mock in asyncio unix events test (python#103782) pythongh-102498 Clean up unused variables and imports in the email module (python#102482) pythongh-99184: Bypass instance attribute access in `repr` of `weakref.ref` (python#99244) pythongh-99032: datetime docs: Encoding is no longer relevant (python#93365) pythongh-94300: Update datetime.strptime documentation (python#95318) pythongh-103776: Remove explicit uses of $(SHELL) from Makefile (pythonGH-103778) pythongh-87092: fix a few cases of incorrect error handling in compiler (python#103456) pythonGH-103727: Avoid advancing tokenizer too far in f-string mode (pythonGH-103775) Revert "Add tests for empty range equality (python#103751)" (python#103770) pythongh-94518: Port 23-argument `_posixsubprocess.fork_exec` to Argument Clinic (python#94519) pythonGH-65022: Fix description of copyreg.pickle function (python#102656) pythongh-103323: Get the "Current" Thread State from a Thread-Local Variable (pythongh-103324) pythongh-91687: modernize dataclass example typing (python#103773) pythongh-103746: Test `types.UnionType` and `Literal` types together (python#103747) pythongh-103765: Fix 'Warning: py:class reference target not found: ModuleSpec' (pythonGH-103769) pythongh-87452: Improve the Popen.returncode docs Removed unnecessary escaping of asterisks (python#103714) pythonGH-102973: Slim down Fedora packages in the dev container (python#103283) pythongh-103091: Add PyUnstable_Type_AssignVersionTag (python#103095) ...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Consider this as a fix proposal :)
Thanks a lot to @MojoVampire for the idea.
KeyError: '__name__'if the original obj override __getattr__ #99184