public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Johannes Schindelin <johannes.schindelin@gmx.de>
To: cygwin@cygwin.com,
	Johannes Schindelin <johannes.schindelin@gmx.de>,
	Takashi Yano <takashi.yano@nifty.ne.jp>
Cc: Corinna Vinschen <corinna-cygwin@cygwin.com>
Subject: Re: Regression on XP with "Fix OPOST for non-Cygwin pty slaves"
Date: Thu, 28 May 2015 20:13:00 -0000	[thread overview]
Message-ID: <614c10d95cd4b6ebae80744837770090@www.dscho.org> (raw)
In-Reply-To: <20150527125011.GI16927@calimero.vinschen.de>

Hi Corrinna,

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

Ciao,
Dscho

--
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: cygwin@cygwin.com,
	Johannes Schindelin <johannes.schindelin@gmx.de>,
	Takashi Yano <takashi.yano@nifty.ne.jp>
Cc: Corinna Vinschen <corinna-cygwin@cygwin.com>
Subject: Re: Regression on XP with "Fix OPOST for non-Cygwin pty slaves"
Date: Thu, 28 May 2015 23:25:00 -0000	[thread overview]
Message-ID: <614c10d95cd4b6ebae80744837770090@www.dscho.org> (raw)
Message-ID: <20150528232500.tjzA2eBzc-QZrfbnvOyRIc00W4952kQM8bud9ET2MPA@z> (raw)
In-Reply-To: <20150527125011.GI16927@calimero.vinschen.de>

Hi Corrinna,

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

Ciao,
Dscho

--
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-28 18:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-01 14:25 Johannes Schindelin
2015-05-01 14:50 ` Johannes Schindelin
2015-05-27 12:51 ` Corinna Vinschen
2015-05-28 20:13   ` Johannes Schindelin [this message]
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=614c10d95cd4b6ebae80744837770090@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).