Skip to content

Pipe.send occasionally hangs when submitting a large job to child process #17

Open
@lheinold

Description

@lheinold

This is an intermittent issue that seems to happen in the following circumstances:

  1. Job 1 is submitted to child A
  2. Job 1 starts running on child A
  3. Job 2 is submitted to child A
  4. Job 1 returns and calls Pipe.send to give results to parent
  5. Parent and child both hang

I believe this is because step (3) fills up the buffer in the pipe and therefore blocks until the data is read. Meanwhile, step (4) tries to write to the pipe with the full buffer and also blocks, waiting to be read.

The child process should check if there is data in the pipe (and read it if so) before sending the job results back to the parent.

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