Skip to content

Crash in ClassDerivedObject.tp_dealloc when object is collected by cycle collector #1565

@lostmsu

Description

@lostmsu

Pythonnet version: 3.0.0.dev1
Repro:

from Python.Test import BaseClass

class Derived(BaseClass):
  __namespace__ = 'Test'

inst = Derived()
cycle = [inst]
del inst
cycle.append(cycle)
del cycle

import gc
gc.collect() # crash here: in ClassDerivedObject.tp_dealloc because ClassBase.tp_clear nulled tpHandle

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions