This is the mail archive of the
mailing list for the Cygwin project.
Re: Intermittent failures with ctrl-c
On Wed, Jan 16, 2013 at 11:37:43AM -0500, Tom Honermann wrote:
>On 01/15/2013 09:04 PM, Christopher Faylor wrote:
>> On Tue, Jan 15, 2013 at 05:16:57PM -0500, Tom Honermann wrote:
>>> I noticed that some changes were checked in related to signal handling
>>> and process termination recently, so I downloaded the most recent
>>> snapshot (20130114) and tested again. I was still able to produce
>>> hanging processes (including hangs of strace.exe) by hitting ctrl-c in a
>>> mintty window while Cygwin processes ran in an infinite loop inside of a
>>> .bat file. I was able to produce a hang ~1 out of 20 times.
>> How does one run a .bat file inside mintty which handles CTRL-C? AFAIK,
>> a CTRL-C will just cause the .bat file to exit when run under bash.
>Here is the test case:
>1) Install the latest snapshot
>2) Copy bash.exe, false.exe, and their dependent DLLs from a Cygwin
>install into the usr/bin directory of the snapshot. For me this
>3) Create 'test.bat' in the usr/bin directory of the snapshot with the
>bash -c false
>if not errorlevel 1 (
> echo exiting...
> exit /B 1
>4) Launch mintty using an existing Cygwin installation. Naturally, this
>will run a shell from the existing Cygwin install.
>5) Change directories to the usr/bin directory of the snapshot.
>6) Start task manager or some other process monitoring tool and keep it
>running. Run ./test.bat from the Cygwin shell running within mintty and
>interrupt it with ctrl-c. Repeat until you see a new bash.exe or
>false.exe process persisting following the interrupt. You'll likely
>have multiple bash processes running. If you are able to reproduce, you
>should see one with a command line of 'bash -c false'. Alternatively,
>if your process monitoring tool shows the path to the executable, you'll
>be able to identify it as the one from the usr/bin directory of the
Again, if I hit CTRL-C while running ./test.bat in mintty then test.bat
exits immediately, as expected. Hitting ctrl-c repeatedly after that
point gives me a new bash prompt.
Non-exiting behavior was a symptom of a previous snapshot which was
>I rather doubt that the use of a .bat file is necessary to reproduce
>this hang, but I haven't tried producing a test case that doesn't use a
>.bat file. This is a test case I was using when debugging the
>intermittent incorrect exit code issue.
Btw, an incorrect exit code is still a possibility if you're running
from a cmd shell since it is possible to interrupt a cygwin process
before cygwin is entirely set up. That will cause a normal windows
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple