Skip to content

std::process::Command: piped stderr hangs in Windows #38811

Closed
@dherman

Description

@dherman

It looks like the use of overlapped I/O on stdio ports may cause some problems in Windows. When I try to shell out to npm install using Stdio::piped() on the stderr port, the command runs successfully but hangs at the end.

@alexcrichton pointed me to this commit as the likely culprit: 7c3038f

Here's the smallest test case I could figure out how to create: https://github.com/dherman/hang-command

I wanted to try to come up with a minimal Node script to shell out to, as opposed to npm install. Unfortunately, I'm not good enough at debugging npm and Node to figure out exactly what they're doing that causes the hang.

Metadata

Metadata

Assignees

No one assigned

    Labels

    T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions