Skip to content

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

Open
@aneeshdurg

Description

@aneeshdurg

Bug report

Bug description:

import pickle
import sys
from dataclasses import dataclass, field


@dataclass
class State:
    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

stdlibPython modules in the Lib dirtype-bugAn unexpected behavior, bug, or error

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions