https://bugs.winehq.org/show_bug.cgi?id=54099
Bug ID: 54099 Summary: Stdout redirection broken when running Linux binaries Product: Wine Version: 7.22 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: dark.shadow4@web.de Distribution: ---
Created attachment 73634 --> https://bugs.winehq.org/attachment.cgi?id=73634 Test program
When running Linux binaries form inside Wine, using CreateProcessA, and redirecting stdout, it doesn't work. It works fine when executing Windows binaries.
See attached test program.
https://bugs.winehq.org/show_bug.cgi?id=54099
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source
https://bugs.winehq.org/show_bug.cgi?id=54099
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
--- Comment #1 from Fabian Maurer dark.shadow4@web.de --- This is a regression between wine-4.19 and wine-4.20. Bisected to:
commit eee3a4e84a07c50c65c3a7619247f62dbca826b6 Author: Alexandre Julliard julliard@winehq.org Date: Tue Nov 12 21:48:49 2019 +0100
kernel32: Move support for starting Unix processes to ntdll.
Signed-off-by: Alexandre Julliard julliard@winehq.org
Reverting on current git is impossible, for me anyways.
https://bugs.winehq.org/show_bug.cgi?id=54099
Eric Pouech eric.pouech@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |eric.pouech@gmail.com, | |julliard@winehq.org
--- Comment #2 from Eric Pouech eric.pouech@gmail.com --- for your test program to work, it requires that Wine launches the unix program with correct unix fd 0, 1 & 2
wine does it when it can map the requested I/O handles into a (real) unix fd (it's the case for a file handle)
but, it doesn't work because there's no support for mapping back a windows pipe handle into unix fd
so I'm a bit surprised by the commit you're pointing to which doesn't touch these areas. Cc:ing Alexandre in case...
potential workaround: - if your intend was to do something like: Z: foo.exe | \bin\bash -c 'Iloveunix.sh' - that should be achievable with Z: foo.exe > tmp \bin\bash -c 'cat tmp | Iloveunix.sh'
HTH
https://bugs.winehq.org/show_bug.cgi?id=54099
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |WONTFIX Status|NEW |RESOLVED
--- Comment #3 from Alexandre Julliard julliard@winehq.org --- Using a Win32 pipe as Unix stdout is not supported, and didn't work previously either. If you look closely, before that commit the output goes to the parent process' stdout, not to the pipe.
The new behavior when specifying an invalid stdout handle is to send output to /dev/null, which makes more sense than to the parent's stdout. If you redirect to a file handle instead of a pipe it should work fine.
https://bugs.winehq.org/show_bug.cgi?id=54099
--- Comment #4 from Fabian Maurer dark.shadow4@web.de --- (In reply to Alexandre Julliard from comment #3)
Using a Win32 pipe as Unix stdout is not supported, and didn't work previously either.
I see, But wouldn't that be useful for integration?
https://bugs.winehq.org/show_bug.cgi?id=54099
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- (In reply to Fabian Maurer from comment #4)
(In reply to Alexandre Julliard from comment #3)
Using a Win32 pipe as Unix stdout is not supported, and didn't work previously either.
I see, But wouldn't that be useful for integration?
Sure, but it would be fairly complicated to support. I don't think it's worth the trouble. From a Winelib app you can always create a Unix pipe and allocate a Win32 handle for it.
https://bugs.winehq.org/show_bug.cgi?id=54099
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Gijs Vermeulen gijsvrm@gmail.com --- Closing WONTFIX.