Skip to content

Type cache is not correctly invalidated on a class defining mro() #73052

Description

@sjpalt
mannequin
BPO28866
Nosy@terryjreedy, @vstinner, @encukou, @markshannon, @serhiy-storchaka, @Vgr255, @JulienPalard, @miss-islington
PRs
  • bpo-28866: Invalidate type cache on every setattr #13117
  • bpo-28866: No type cache for types with specialized mro, invalidation is hard. #13157
  • [3.7] bpo-28866: No type cache for types with specialized mro, invalidation is hard. (GH-13157) #13589
  • bpo-28866: Add regression test #17573
  • Files
  • weird.py: Steps to reproduce
  • weird_without_interactive.py
  • issue28866.diff
  • 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=Noneclosed_at=Nonecreated_at=<Date2016-12-04.14:35:45.681>labels= ['interpreter-core', '3.7', 'type-crash']
    title='Type cache is not correctly invalidated on a class defining mro()'updated_at=<Date2019-12-11.12:36:42.450>user='https://bugs.python.org/sjpalt'

    bugs.python.org fields:

    activity=<Date2019-12-11.12:36:42.450>actor='petr.viktorin'assignee='none'closed=Falseclosed_date=Nonecloser=Nonecomponents= ['Interpreter Core']
    creation=<Date2016-12-04.14:35:45.681>creator='sjpalt'dependencies= []
    files= ['45752', '45756', '45766']
    hgrepos= []
    issue_num=28866keywords= ['patch']
    message_count=22.0messages= ['282344', '282345', '282349', '282353', '282368', '282375', '282430', '282468', '282485', '282486', '282598', '288072', '341581', '343550', '343581', '343582', '343583', '343585', '343650', '355377', '358257', '358258']
    nosy_count=9.0nosy_names= ['terry.reedy', 'vstinner', 'petr.viktorin', 'Mark.Shannon', 'serhiy.storchaka', 'abarry', 'mdk', 'sjpalt', 'miss-islington']
    pr_nums= ['13117', '13157', '13589', '17573']
    priority='high'resolution=Nonestage='patch review'status='open'superseder=Nonetype='crash'url='https://bugs.python.org/issue28866'versions= ['Python 2.7', 'Python 3.5', 'Python 3.6', 'Python 3.7']

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      3.7 (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