[Bug 54099] New: Stdout redirection broken when running Linux binaries
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(a)winehq.org Reporter: dark.shadow4(a)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. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54099 Fabian Maurer <dark.shadow4(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54099 Fabian Maurer <dark.shadow4(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression --- Comment #1 from Fabian Maurer <dark.shadow4(a)web.de> --- This is a regression between wine-4.19 and wine-4.20. Bisected to: commit eee3a4e84a07c50c65c3a7619247f62dbca826b6 Author: Alexandre Julliard <julliard(a)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(a)winehq.org> Reverting on current git is impossible, for me anyways. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54099 Eric Pouech <eric.pouech(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |eric.pouech(a)gmail.com, | |julliard(a)winehq.org --- Comment #2 from Eric Pouech <eric.pouech(a)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 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54099 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |WONTFIX Status|NEW |RESOLVED --- Comment #3 from Alexandre Julliard <julliard(a)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. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54099 --- Comment #4 from Fabian Maurer <dark.shadow4(a)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? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54099 --- Comment #5 from Alexandre Julliard <julliard(a)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. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54099 Gijs Vermeulen <gijsvrm(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #6 from Gijs Vermeulen <gijsvrm(a)gmail.com> --- Closing WONTFIX. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla