public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Johannes Schindelin <johannes.schindelin@gmx.de>
To: Takashi Yano <takashi.yano@nifty.ne.jp>,
	Corinna Vinschen <corinna-cygwin@cygwin.com>
Cc: cygwin@cygwin.com
Subject: Regression on XP with "Fix OPOST for non-Cygwin pty slaves"
Date: Fri, 01 May 2015 14:25:00 -0000	[thread overview]
Message-ID: <a36a28acdd2deef74569904ab0601c0f@www.dscho.org> (raw)

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 
XP.

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":

https://cygwin.com/git/gitweb.cgi?p=newlib-cygwin.git;a=commit;h=063e7da36fda3f42619d7df606d9f3d4920605aa

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:

https://github.com/git-for-windows/msys2-runtime/tree/aae52e6d23e92cf71e6f7777ff9bb49588be8fdc

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?

Thanks,
Johannes

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

WARNING: multiple messages have this Message-ID
From: Johannes Schindelin <johannes.schindelin@gmx.de>
To: Takashi Yano <takashi.yano@nifty.ne.jp>,
	Corinna Vinschen <corinna-cygwin@cygwin.com>
Cc: cygwin@cygwin.com
Subject: Regression on XP with "Fix OPOST for non-Cygwin pty slaves"
Date: Fri, 01 May 2015 14:50:00 -0000	[thread overview]
Message-ID: <a36a28acdd2deef74569904ab0601c0f@www.dscho.org> (raw)
Message-ID: <20150501145000.bI4UHGR50aQwreyKb7IwLjWHCM1wrowtCHUf4qsPvZc@z> (raw)

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 
XP.

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":

https://cygwin.com/git/gitweb.cgi?p=newlib-cygwin.git;a=commit;h=063e7da36fda3f42619d7df606d9f3d4920605aa

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:

https://github.com/git-for-windows/msys2-runtime/tree/aae52e6d23e92cf71e6f7777ff9bb49588be8fdc

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?

Thanks,
Johannes

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

             reply	other threads:[~2015-05-01 14:25 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-01 14:25 Johannes Schindelin [this message]
2015-05-01 14:50 ` Johannes Schindelin
2015-05-27 12:51 ` Corinna Vinschen
2015-05-28 20:13   ` Johannes Schindelin
2015-05-28 23:25     ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a36a28acdd2deef74569904ab0601c0f@www.dscho.org \
    --to=johannes.schindelin@gmx.de \
    --cc=corinna-cygwin@cygwin.com \
    --cc=cygwin@cygwin.com \
    --cc=takashi.yano@nifty.ne.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).