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 CharlesFengY
Recipients CharlesFengY
Date 2021-02-10.09:44:21
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1612950261.11.0.487883893903.issue43188@roundup.psfhosted.org>
In-reply-to
Content
In the following programs, we call check_reentrant_insertion("s") twice,  after multiple of update and clear of dict, the Python interpreter crashes.
+++++++++++++++++++++++++++++++++++++++++++
def check_reentrant_insertion(mutate):

        class Mutating:
            def __del__(self):
                mutate(d)

        d = {k: Mutating() for k in 'abcdefghijklmnopqr'}
        for k in list(d):
            d[k] = k

def test_reentrant_insertion():

    check_reentrant_insertion("s")

    def mutate(d):
        d.update(DictTest.__dict__)
        d.clear()
    check_reentrant_insertion(test_reentrant_insertion())

test_reentrant_insertion()
+++++++++++++++++++++++++++++++++++++++++

System Info: Ubuntu 16.04
Python Version:  Python 3.9.1
History
Date User Action Args
2021-02-10 09:44:21CharlesFengYsetrecipients: + CharlesFengY
2021-02-10 09:44:21CharlesFengYsetmessageid: <1612950261.11.0.487883893903.issue43188@roundup.psfhosted.org>
2021-02-10 09:44:21CharlesFengYlinkissue43188 messages
2021-02-10 09:44:21CharlesFengYcreate