This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients Iman Sharafaldin, christian.heimes, serhiy.storchaka, vstinner
Date 2020-07-06.14:47:33
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1594046854.05.0.931719708561.issue41208@roundup.psfhosted.org>
In-reply-to
Content
In this particular case unmarshalling creates a tuple containing a reference to itself which is used as a key in a dict. Calculating a hash of such tuple leads to infinite recursion which overflows the programming stack. There is no efficient way to detect such case, and since cyclic tuples cannot be created by pure Python code we should not even try to solve this problem. You can get it only by misusing the C API or the ctypes module or loading invalid marshal data.
History
Date User Action Args
2020-07-06 14:47:34serhiy.storchakasetrecipients: + serhiy.storchaka, vstinner, christian.heimes, Iman Sharafaldin
2020-07-06 14:47:34serhiy.storchakasetmessageid: <1594046854.05.0.931719708561.issue41208@roundup.psfhosted.org>
2020-07-06 14:47:34serhiy.storchakalinkissue41208 messages
2020-07-06 14:47:33serhiy.storchakacreate