Skip to content

Hang when child process exits without writing to IPC pipe #860

Open
@rainersigwald

Description

@rainersigwald

After MSBuild starts a child/worker process, it tries to handshake with the newly-created node by writing to an IPC pipe and waiting for the handshake response.

If process creation fails, an error is propagated upward and MSBuild doesn't hang. If, however, process creation succeeds but the child quickly terminates instead of waiting for the handshake, the indefinite blocking read on handshake response turns into a mysterious MSBuild hang.

We should either have a timeout for handshake success, or at the very least fail early in WaitForConnectionFromProcess if the nodeProcessId doesn't belong to a running process.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: IPCIssues concerning how MSBuild communicates between processes, including serialization.needs-designRequires discussion with the dev team before attempting a fix.triaged

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions