New submission from Ceridwen:
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.
----------
components: Library (Lib)
messages: 251655
nosy: ceridwen
priority: normal
severity: normal
status: open
title: Stack overflow in reprlib causes a core dump
type: crash
versions: Python 3.4
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue25240>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com