fish, version 2.6.0-208-gc577d01, similar to #3454 and possibly related to the issues in #3952
I'm able to reproduce this issue almost every time under the latest final release of Windows 10 (15063.483), filed as an issue with the WSL team here: microsoft/WSL#1210
It seems that there is a race condition in fish somewhere when both piping and redirecting, but I'm unable to reproduce this issue when fish is running under strace.
Here's an example command that always fails:
mqudsi@ZBook /m/c/U/M/g/static-compress> cat src/structs.rs | less 2>/dev/null
Could not send process <340W, '>less ' in job f1i, 'scat src/structs.rs | less 2>/dev/nullh' from group :278 to group C339o
usetpgid: Operation not permitted
ldCould not send job 1n ('ocat src/structs.rs | less 2>/dev/nullt') to foreground
stcsetpgrp: Operation not permitted
end job 1 ('cat src/structs.rs | less 2>/dev/null') to foreground
tcsetpgrp: Operation not permitted
Missing filename ("less --help" for help)
mqudsi@ZBook /m/c/U/M/g/static-compress>
If you look carefully, you can see the text is being interlaced with itself, indicating a synchronization issue. But that may just be a separate bug where fish errors are not synchronized to the console output alongside the regular console output.
I've been using fish under WSL for over a year, and have experienced this from the start across many versions of Windows 10/WSL and fish. I've never experienced similar errors under bash, fwiw.
Attempting to debug this by running strace -f -o fish.log fish -c "cat src/structs.rs | less 2>/dev/null" results in no issues whatsoever, so I'm not able to pin down what's happening. I'll probably try my hand at debugging this by adding a bunch of debug prints to the source, but I'm wondering if anyone has any ideas.
Thanks.
EDIT
I should add that the console hangs thereafter and the terminal window must be forcefully exited.
fish, version 2.6.0-208-gc577d01, similar to #3454 and possibly related to the issues in #3952I'm able to reproduce this issue almost every time under the latest final release of Windows 10 (15063.483), filed as an issue with the WSL team here: microsoft/WSL#1210
It seems that there is a race condition in fish somewhere when both piping and redirecting, but I'm unable to reproduce this issue when fish is running under strace.
Here's an example command that always fails:
If you look carefully, you can see the text is being interlaced with itself, indicating a synchronization issue. But that may just be a separate bug where fish errors are not synchronized to the console output alongside the regular console output.
I've been using fish under WSL for over a year, and have experienced this from the start across many versions of Windows 10/WSL and fish. I've never experienced similar errors under bash, fwiw.
Attempting to debug this by running
strace -f -o fish.log fish -c "cat src/structs.rs | less 2>/dev/null"results in no issues whatsoever, so I'm not able to pin down what's happening. I'll probably try my hand at debugging this by adding a bunch of debug prints to the source, but I'm wondering if anyone has any ideas.Thanks.
EDIT
I should add that the console hangs thereafter and the terminal window must be forcefully exited.