Skip to content

Pickling Error on Windows #1018

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!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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