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 vstinner
Recipients eric.snow, nanjekyejoannah, vstinner
Date 2021-04-28.11:05:17
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1619607917.62.0.695804614942.issue43962@roundup.psfhosted.org>
In-reply-to
Content
Creating an _interpreters.InterpreterID object calls newinterpid() which calls _PyInterpreterState_IDIncref(interp).

_PyInterpreterState_IDIncref(interp) does nothing if interp->id_mutex is NULL.

Calling _interpreters.get_current() calls interp_get_current() which calls _PyInterpreterState_IDInitref().

_PyInterpreterState_IDInitref() creates the id_mutex and initializes id_refcount to 0.

Later, when the _interpreters.InterpreterID object is deallocated, interpid_dealloc() calls _PyInterpreterState_IDDecref(). Since id_mutex was created in the meanwhile, _PyInterpreterState_IDDecref() now decrements id_refcnt.

... It doesn't work: _PyInterpreterState_IDIncref() should always increase the reference count.
History
Date User Action Args
2021-04-28 11:05:17vstinnersetrecipients: + vstinner, eric.snow, nanjekyejoannah
2021-04-28 11:05:17vstinnersetmessageid: <1619607917.62.0.695804614942.issue43962@roundup.psfhosted.org>
2021-04-28 11:05:17vstinnerlinkissue43962 messages
2021-04-28 11:05:17vstinnercreate