Skip to content

Running detect_spikes(multi_process = True) fails and hangs because Macs hate forking #23

@danielsvedberg

Description

@danielsvedberg

Running detect_spikes(multi_process = True) on mac hangs and produces numerous copies of the following message:

The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec().
Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__() to debug.

Doing some reading online has led me to find that Forking multiprocessing processes (as is "proper") on mac is "unsafe" and will cause problems. Unfortunately we're stuck with Joblib's multiprocessing backend here.

Anyways if there's a fix to be made, it starts here:

backend='multiprocessing')(delayed(run_joblib_process)

And for those of you reading at home with the same problem, run with multi_process = False for now

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions