Skip to content

Windows REPL can be corrupted by launching concurrent shell commands #36683

@musm

Description

@musm

Courtesy @davidanthoff

echo_cmd = `C:\\Program\ Files\\Git\\usr\\bin\\echo.exe hello`

 @async begin
    sleep(10)
    run(echo_cmd)
 end

run(`wsl`)

Without echo_cmd things, like htop work perfectly in the wsl started by run, but after 10 seconds, the echo_cmd command executes and this completely corrupts the console. Then exiting the launched wsl session, observe that the Julia REPL is permanently left in a corrupt state. `

#36598 fixes the broken Julia REPL state by a resetting mechanism, which seems to work pretty good as it fixes the Julia REPL after exiting the wsl shell, which is an improvement over the current situation, but we still have a broken wsl state that is corrupted.

It looks like the long term correct solution to this problem is to launch external processes in a pseudo-tty, and this is an upstream issue: libuv/libuv#2640

Metadata

Metadata

Assignees

No one assigned

    Labels

    system:windowsAffects only WindowsupstreamThe issue is with an upstream dependency, e.g. LLVM

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions