Skip to content

Crash in remove() weak reference callback of weakref.WeakValueDictionary at Python exit #82187

@tiran

Description

@tiran
BPO 38006
Nosy @tim-one, @nascheme, @pitrou, @larryhastings, @tiran, @benjaminp, @ned-deily, @encukou, @methane, @ambv, @markshannon, @jdemeyer, @pablogsal, @miss-islington
PRs
  • bpo-38006: Avoid closure in weakref.WeakValueDictionary #15641
  • [3.8] bpo-38006: Avoid closure in weakref.WeakValueDictionary (GH-15641) #15787
  • [3.7] bpo-38006: Avoid closure in weakref.WeakValueDictionary (GH-15641) #15789
  • bpo-38006: Clear weakrefs in garbage found by the GC #16495
  • [3.8] bpo-38006: Clear weakrefs in garbage found by the GC (GH-16495) #16499
  • [3.8] bpo-33418: Restore tp_clear for function object #16502
  • bpo-38006: Add unit test for weakref clear bug #16788
  • Files
  • reproducer.tar.gz
  • gc_crash.py
  • gc_crash.patch
  • gc_disable_wr_callback.txt
  • gc_weakref_bug_demo.py
  • gc_weakref_bug_demo2.py
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = 'https://github.com/nascheme'
    closed_at = <Date 2021-11-08.21:45:42.669>
    created_at = <Date 2019-09-02.09:48:27.174>
    labels = ['interpreter-core', '3.7', '3.8', '3.9', 'type-crash']
    title = 'Crash in remove() weak reference callback of weakref.WeakValueDictionary at Python exit'
    updated_at = <Date 2021-11-08.21:45:42.668>
    user = 'https://github.com/tiran'

    bugs.python.org fields:

    activity = <Date 2021-11-08.21:45:42.668>
    actor = 'nascheme'
    assignee = 'nascheme'
    closed = True
    closed_date = <Date 2021-11-08.21:45:42.669>
    closer = 'nascheme'
    components = ['Interpreter Core']
    creation = <Date 2019-09-02.09:48:27.174>
    creator = 'christian.heimes'
    dependencies = []
    files = ['48586', '48587', '48588', '48630', '48633', '48637']
    hgrepos = []
    issue_num = 38006
    keywords = ['patch', '3.8regression']
    message_count = 96.0
    messages = ['350974', '350975', '350976', '350981', '350983', '350985', '350987', '350990', '350991', '350992', '350995', '350996', '350997', '350998', '350999', '351006', '351007', '351009', '351010', '351012', '351015', '351017', '351020', '351037', '351038', '351039', '351040', '351041', '351042', '351067', '351072', '351077', '351082', '351083', '351086', '351098', '351099', '351492', '351519', '351561', '351676', '353371', '353378', '353398', '353399', '353410', '353412', '353414', '353439', '353480', '353506', '353512', '353515', '353520', '353521', '353522', '353524', '353527', '353528', '353531', '353580', '353592', '353593', '353596', '353597', '353598', '353600', '353601', '353602', '353603', '353604', '353605', '353606', '353607', '353608', '353610', '353623', '353631', '353642', '353643', '353708', '353713', '353726', '353729', '353867', '353875', '353883', '353884', '353896', '353961', '354674', '354678', '354685', '354766', '405980', '405984']
    nosy_count = 14.0
    nosy_names = ['tim.peters', 'nascheme', 'pitrou', 'larry', 'christian.heimes', 'benjamin.peterson', 'ned.deily', 'petr.viktorin', 'methane', 'lukasz.langa', 'Mark.Shannon', 'jdemeyer', 'pablogsal', 'miss-islington']
    pr_nums = ['15641', '15787', '15789', '16495', '16499', '16502', '16788']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'crash'
    url = 'https://bugs.python.org/issue38006'
    versions = ['Python 2.7', 'Python 3.5', 'Python 3.6', 'Python 3.7', 'Python 3.8', 'Python 3.9']

    Metadata

    Metadata

    Assignees

    Labels

    3.7 (EOL)end of life3.8 (EOL)end of life3.9 (EOL)end of lifeinterpreter-core(Objects, Python, Grammar, and Parser dirs)type-crashA hard crash of the interpreter, possibly with a core dump

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions