Skip to content

Pickling Error on Windows #1018

@julianneswinoga

Description

@julianneswinoga

I'm using construct as part of the flightgear-python library, and when using multiprocessing construct.core.Pass fails to pickle:

File "C:\...\lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <class 'construct.core.Pass'>: it's not the same object as construct.core.Pass

This only happens on Windows which is weird? Linux works just fine.

I found #894 which seems similar, since Pass is a singleton which is what I think pickle is complaining about ("we are trying to dump A, but because we changed its name to refer to another object 'B', pickle is actually confused with which object to dump")

I've tried a couple things on the user side, but I think this is something that needs to be fixed on the construct side of things.

This is using the latest construct, 2.10.68. Let me know if you need more information or testing from my end!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions