Issue 25240: Stack overflow in reprlib causes a core dump
Created on 2015-09-26 16:47 by ceridwen, last changed 2022-04-11 14:58 by admin. This issue is now closed.
| Messages (2) | |||
|---|---|---|---|
| msg251655 - (view) | Author: Ceridwen (ceridwen) | Date: 2015-09-26 16:47 | |
I have a linked list implementation made of nested tuples with a custom repr:
def __repr__(self):
return 'LinkedList(' + ', '.join(repr(v) for v in self) + ')'
(Iterating over a LinkedList returns just its contents.)
When using Raymond Hettinger's recipe for finding the size in memory of an object, https://code.activestate.com/recipes/577504-compute-memory-footprint-of-an-object-and-its-cont/?in=user-178123 , when I set verbose=True and exceed the recursion limit with reprlib.repr, I get the following error:
Fatal Python error: Cannot recover from stack overflow.
Current thread 0x00007fa24200d700 (most recent call first):
File "<name of LinkedList file>.py", line 327 in __repr__
File "/usr/lib/python3.4/reprlib.py", line 135 in repr_instance
File "/usr/lib/python3.4/reprlib.py", line 64 in repr1
File "/usr/lib/python3.4/reprlib.py", line 54 in repr
File "recipe.py", line 46 in sizeof
[many instances of the above line repeated]
...
Aborted (core dumped)
The line in the recipe it fails when recursing on is:
print(s, type(o), repr(o), file=stderr)
On 2.7 it fails with a RuntimeError as I'd expect.
|
|||
| msg401303 - (view) | Author: Irit Katriel (iritkatriel) * ![]() |
Date: 2021-09-07 16:30 | |
There was work on recursion in newer versions and several similar issues have been confirmed to be fixed. Since you didn't include a complete reproduction script, it's hard to know whether your case was fixed as well. I am therefore closing this, and request that you create a new issue with full reproduction information if you are still seeing this in a current version (>= 3.9). |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:58:21 | admin | set | github: 69427 |
| 2021-09-07 16:30:05 | iritkatriel | set | status: open -> closed nosy:
+ iritkatriel resolution: out of date |
| 2018-09-21 12:37:44 | xtreak | set | nosy:
+ xtreak |
| 2015-09-26 16:57:29 | serhiy.storchaka | set | nosy:
+ rhettinger |
| 2015-09-26 16:47:58 | ceridwen | create | |
