Skip to content

PS7.3 (using .NET 7) locks up when used with screen on Linux and macOS #82110

@SteveL-MSFT

Description

@SteveL-MSFT

Description

When using PS7.2 (built on .NET 6) with screen, it works fine on Linux (still seems to lock up on macOS).

PS7.3 (built on .NET 7) with screen will lock up (seems to be waiting on stdin) after running a native command:

screen ./pwsh
ls

Running cmdlets (like get-childitem) works fine. Only when executing a native command does it seem to be blocking and because the process doesn't finish, the PS prompt never comes.

I did rebuild 7.2 (which works with screen on Linux) against .NET 7 and that also exhibits the same locking behavior, so it seems that it's due to a change in .NET 7.

Using set DOTNET_SYSTEM_CONSOLE_USENET6COMPATREADKEY=1 does not resolve the issue, so it seems unrelated to those changes.

Reproduction Steps

I tried creating a simple repl that starts exes, but it doesn't repro the issue. PS7 does more complex work reading keyboard and handling starting exes.

screen ./pwsh
ls

Expected behavior

ls to output and PS prompt to come back

Actual behavior

ls shows output, and process is blocked

Regression?

From .NET 6

Known Workarounds

No response

Configuration

Specifically tested under Ubuntu 22.04 using WSL

Other information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions