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.

classification
Title: incorrect decref in C OrderedDict
Type: crash Stage: resolved
Components: Library (Lib) Versions: Python 3.6, Python 3.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: eric.snow Nosy List: Arfrever, eric.snow, larry, ned.deily, python-dev, skrah, yselivanov
Priority: release blocker Keywords:

Created on 2015-06-01 16:21 by eric.snow, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
crash-2.py eric.snow, 2015-06-01 16:21
Messages (2)
msg244598 - (view) Author: Eric Snow (eric.snow) * (Python committer) Date: 2015-06-01 16:21
(from msg244575 in issue16991)

crash-2.py is due to the fact that _PyDict_Pop() deletes a reference
to 'key' in _odict_popkey().

The INCREF(key) in popitem should take place before calling _odict_popkey().


Again, I don't see the point of INCREF/DECREF *inside* of _odict_popkey().
msg244650 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2015-06-02 05:14
New changeset 8631b88c23f6 by Eric Snow in branch '3.5':
Issue #24348: Drop superfluous increfs/decrefs.
https://hg.python.org/cpython/rev/8631b88c23f6
History
Date User Action Args
2022-04-11 14:58:17adminsetnosy: + larry, ned.deily
github: 68536
2015-06-02 05:15:22eric.snowsetstatus: open -> closed
resolution: fixed
stage: needs patch -> resolved
2015-06-02 05:14:48python-devsetnosy: + python-dev
messages: + msg244650
2015-06-01 17:23:50Arfreversetnosy: + Arfrever
2015-06-01 16:27:27yselivanovsetnosy: + yselivanov
2015-06-01 16:21:56eric.snowcreate