Skip to content

cProfile cannot run code that pickles objects defined in __main__ #132737

Description

@aneeshdurg

Bug report

Bug description:

importpickleimportsysfromdataclassesimportdataclass, field@dataclassclassState:
x: list[int] =field(default_factory=list)
print(pickle.dumps(State([0])))

The following code will run successfully on it's own, but will fail if run with cProfile, with the message that __main__.State could not be found by.

CPython versions tested on:

CPython main branch

Operating systems tested on:

Linux

Linked PRs

Metadata

Metadata

Labels

stdlibStandard Library Python modules in the Lib/ directorytype-bugAn unexpected behavior, bug, or error

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions