Regression on XP with "Fix OPOST for non-Cygwin pty slaves"
Thu May 28 23:25:00 GMT 2015
On 2015-05-27 14:50, Corinna Vinschen wrote:
> On May 1 16:25, Johannes Schindelin wrote:
>> Hi Yano & Corinna,
>> I would like to ask you for help with fixing a regression I am
>> on XP (and XP only, the problem does not occur with Windows 7 or 8).
>> It may
>> be a 32-bit issue, but I cannot currently test on 64-bit XP.
>> Background: I am the maintainer of Git for Windows and we are hoping
>> release a new major release Real Soon Now, based on MSys2 (which in
>> turn is
>> based on Cygwin). To make the user experience a bit better, we want to
>> users to double-click a "Git Bash" icon that simply launches a small,
>> non-console MinGW executable which in turn basically sets up the PATH
>> MSYSTEM environment variables (as required for the MSys2 runtime) and
>> launches a mintty with a bash inside. Please note that this small
>> is *not* a console program but a GUI one (-mwindows instead of
>> -mconsole) so
>> that no console window flashes before the mintty window is shown.
>> Now, this strategy worked well so far, except that I recently found
>> that Git
>> Bash does not start in XP anymore, instead the mintty process just
>> sits and
>> waits for a while and after five to ten minutes, the mintty window
>> with the message:
>> Failed to fork child process: Resource temporarily unavailable.
>> DLL rebasing may be required. See 'rebaseall --help'.
>> (Needless to say, a 'rebaseall' does not fix it.)
>> This problem does *not* occur if I call mintty from a `.bat` file or
>> `cmd` -- but as I said, I want to avoid flashing console windows --
>> and it
>> also does not happen if I run a mintty from a freshly installed Cygwin
>> cygwin package version 2.0.1-1) where the shortcut points directly to
>> `mintty` which is a console application.
>> This symptom makes me believe that the culprit might be that
>> somehow expected an attached Win32 Console, and spins in circles when
>> is none.
>> Now, please note that I do *not* run a regular cygwin1.dll but rather
>> msys-2.0.dll that I had to patch even more to support users of the
>> Git for Windows version (which was based on MSys1 and did things like
>> allowing users to override their home directory using the HOME
>> Starting with the diff on top of cygwin1.dll's sources, I bisected the
>> problem down to the commit "Fix OPOST for non-Cygwin pty slaves":
>> With this commit reverted, on top of the MSys2 and the Git for Windows
>> patches, the mintty window appears correctly again when launched on
>> XP via said GUI executable. You can see my current state here:
>> I would like to ask you for advice how to debug this regression
>> because I really would like to revert the revert and have a proper
>> fix. Or
>> maybe you have an idea how I can fix it directly?
> Hmm, this seems to be another fallout from introducing different OPOST
> processing (via spearate pipes) for native and Cygwin processes.
> Does the patch from https://cygwin.com/ml/cygwin/2015-05/msg00282.html
> help, by any chance?
Sadly, my test program still hangs when running with an msys2-runtime
with that patch applied. I cannot say where exactly it hangs, just that
the mintty I call from a GUI program spawns a thread that seems to wait
until something times out.
I won't be able to investigate this during the next week, but I could
put more effort into shedding more light into the problem in the second
or third week of June.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin