[issue37985] WFERR_UNMARSHALLABLE breaks recursion limit

2019-08-29 Thread Davis Herring
Davis Herring added the comment: I can easily make a patch or pull request, but against which version(s) should I do so? (Will such a trivial change require a CLA?) -- ___ Python tracker <https://bugs.python.org/issue37

[issue37985] WFERR_UNMARSHALLABLE breaks recursion limit

2019-08-29 Thread Davis Herring
New submission from Davis Herring : Most of the "p->depth--;" lines associated with "p->error = WFERR_UNMARSHALLABLE;" are spurious, and can crash the interpreter if enough of them prevent reaching MAX_MARSHAL_STACK_DEPTH. (The only exceptions are in 2.7, where

[issue1062277] Pickle breakage with reduction of recursive structures

2015-11-21 Thread Davis Herring
Davis Herring added the comment: Re msg110868: it's impossible to resolve a __reduce__ loop that involves only immutable intermediate objects (including none at all): class Direct: def __reduce__(self): return id,(self,) # obviously impossible class Indirect: # Can't create either the new

[issue24048] remove_module() needs to save/restore exception state

2015-04-23 Thread Davis Herring
New submission from Davis Herring: import.c's remove_module() is always called with an exception set and can invoke arbitrary code via deallocation; if that code calls PyErr_Clear() (or is sensitive to PyErr_Occurred()) it will lose (or be damaged by) the preexisting exception