Skip to content

Crash when using sqlite3 with subinterpreters #92036

Closed
@vstinner

Description

@vstinner

Running sqlite3_crash.py on Python 3.9 and 3.10 fail randomly with an assertion failure in _PyObject_GC_UNTRACK() called by func_dealloc().

The problem is that a function is allocated in an interpreter and deallocated in another interpreter.

I built Python 3.10 with pyobject_ob_interp.patch. When the bug occurs, I get:

  • func_dealloc(): ob_interp = 0x7fffa4001030
  • In a parent frame (_PyObject_VectorcallTstate), tstate->interp = 0x7fffc0001030

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.10only security fixes3.9only security fixestopic-sqlite3type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions