Regression on XP with "Fix OPOST for non-Cygwin pty slaves"
Fri May 1 14:25:00 GMT 2015
Hi Yano & Corinna,
I would like to ask you for help with fixing a regression I am
experiencing 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
Background: I am the maintainer of Git for Windows and we are hoping to
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 allow 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 and MSYSTEM environment variables (as required for the MSys2
runtime) and then launches a mintty with a bash inside. Please note that
this small executable 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 appears 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
from `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 (with 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
msys-2.0.dll somehow expected an attached Win32 Console, and spins in
circles when there is none.
Now, please note that I do *not* run a regular cygwin1.dll but rather an
msys-2.0.dll that I had to patch even more to support users of the
previous Git for Windows version (which was based on MSys1 and did
things like allowing users to override their home directory using the
HOME environment variable).
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
32-bit 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 further
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?
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin