[issue43188] <dict> multiple operations of dict causes core dump of Python interpreter.

Yang Feng report at bugs.python.org
Wed Feb 10 04:44:21 EST 2021


New submission from Yang Feng <charles.fy at foxmail.com>:

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

----------
components: Interpreter Core
messages: 386766
nosy: CharlesFengY
priority: normal
severity: normal
status: open
title: <dict> multiple operations of dict causes core dump of Python interpreter.
type: crash
versions: Python 3.9

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue43188>
_______________________________________


More information about the Python-bugs-list mailing list