Skip to content

Improve error message when child process enters an endless loop #5085

Open
@Forgind

Description

@Forgind

Steps to reproduce

  1. Create a custom task that results in endless recursion.
  2. Call it with multiproc (/m) enabled.

Desired behavior

Child logs that there was infinite recursion and exits gracefully; parent fails the build.

Actual behavior

Child becomes unresponsive, parent thinks the child crashed and exits saying the child disconnected, and the child exits saying the parent became unresponsive.

12/11/2019 13:51:52
System.IO.IOException: Pipe is broken.
at System.IO.Pipes.NamedPipeServerStream.CheckConnectOperationsServer()
at System.IO.Pipes.NamedPipeServerStream.BeginWaitForConnection(AsyncCallback callback, Object state)
at Microsoft.Build.BackEnd.NodeEndpointOutOfProcBase.PacketPumpProc()

See https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1019781/

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: DebuggabilityIssues impacting the diagnosability of builds, including logging and clearer error messages.Area: TasksIssues impacting the tasks shipped in Microsoft.Build.Tasks.Core.dll.needs-designRequires discussion with the dev team before attempting a fix.triaged

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions