X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6D31D3857352
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1671700690;
	bh=xb2w4yLTAQGbF6uyiH32ppfL7uvmju1C4eMWkKCNGfQ=;
	h=Date:To:Cc:Subject:In-Reply-To:References:List-Id:
	 List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:
	 From:Reply-To:From;
	b=D9NqEsahIfePo9tnWxcBWcKbY/8ZMNsymj8nelmMvEa7W9zgCwXbTL1goY+xq5vVu
	 8V0Ny4hjXNbwRpg7UvH8ZaMdxGIvbkaEz6mxIWjLk7/Yl8rUkp97O6wcyMbQKBLC5z
	 oLYq7jywA9RFyJ6wJvQlWz1MsEzV84RUxKiKVnTY=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 52DBA3858D1E
DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-01.nifty.com 2BM9HSQa030376
X-Nifty-SrcIP: [220.150.135.41]
Date: Thu, 22 Dec 2022 18:17:28 +0900
To: cygwin@cygwin.com
Cc: Adam Dinwoodie <adam@dinwoodie.org>
Subject: Re: Resizing window while showing git log locks up Command Line
Message-Id: <20221222181728.89ffee4e52192f270ccbef5a@nifty.ne.jp>
In-Reply-To: <CA+kUOanYkNMXNvcUaX5sUX+nmbAU3erNvJ-WD3YTaN8ccdsTDQ@mail.gmail.com>
References: <CH2PR17MB392731321A3A24CC6FCC2A9CC1EB9@CH2PR17MB3927.namprd17.prod.outlook.com>
 <CA+kUOanYkNMXNvcUaX5sUX+nmbAU3erNvJ-WD3YTaN8ccdsTDQ@mail.gmail.com>
X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32)
Mime-Version: 1.0
X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00, DKIM_SIGNED,
 DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_NONE,
 SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
 server2.sourceware.org
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Takashi Yano via Cygwin <cygwin@cygwin.com>
Reply-To: Takashi Yano <takashi.yano@nifty.ne.jp>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: cygwin-bounces+archive-cygwin=delorie.com@cygwin.com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie.com@cygwin.com>

On Wed, 21 Dec 2022 21:30:35 +0000
Adam Dinwoodie wrote:
> On Wed, 21 Dec 2022 at 16:08, Gregory Mason via Cygwin wrote:
> >
> > Hello Cygwin volunteers,
> >
> > I was asked to forward this bug report from the git-for-windows bug report: https://github.com/git-for-windows/git/issues/4060
> > Original bug report from garretwilson
> >
> > > Find a Git repository with a long commit history.
> > > Enter `git log`
> > > Git will show the log history and wait for you to page through the history or hit q to exit.
> > > Press Win+Left-Arrow to snap the window to the left side of the screen.
> > > The window is now hung. Nothing can be typed to get it un-hung. Typing q does nothing. Typing Ctrl+C does nothing. Typing <Enter> does nothing. > The only way out of this is to close the terminal window and start a new Command Prompt or PowerShell session.
> > >
> > > I've reproduced this with Command Line and with PowerShell 7.2.6.
> >
> > I am also experiencing this issue with the following setup:
> > CYGWIN_NT-10.0-19044 version 3.4.3-1.x86_64 (runneradmin@fv-az479-541) (gcc version 11.3.0 (GCC) ) 2022-12-16 12:38 UTC
> >
> > Windows 10
> > Version 21H2
> > Installed on    ?7/?11/?2022
> > OS build        19044.2251
> > Experience      Windows Feature Experience Pack 120.2212.4180.0
> >
> > If you need further information, please let me know.
> 
> This looks like it's an issue with less, which will be the pager that
> Git is using. I've just verified I can reproduce it by running
> `C:\cygwin64\bin\less.exe C:\cygwin64\var\log\setup.log` from within a
> PowerShell terminal, then resizing the terminal; it doesn't need to be
> a "snap" to trigger the behaviour.
> 
> Somewhat to my surprise, `more` and `vim` don't exhibit this behaviour.

Thanks for the report. I looked into this problem, and found
the cause. less uses longjmp in signal handler, and if signal
handler is called while cygwin acquiring the mutex, the mutex
will not be released. This causes deadlock.

I will submit a patch for this issue shortly.

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>

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