This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ctrl-c doesn't reliably kill applications

I couldn't replicate it either, but the question I started this thread
with is unrelated to either of the ping tools.
Here it is again:

The ctrl-c shortcut doesn't reliably kill applications (anymore?).
It has been that way for at least a year now.


One example is the ruby "rerun" tool (at least when used with a sinatra
The problem can be reproduced using these steps:

 1. Default cygwin install
 2. Install rubygems package
 3. gem install rerun sinatra
 4. Make sure the rerun tool is in PATH (or specify the path to it
    explicitly). I think rubygems installs executables from gems to
    ~/bin by default
 5. rerun "ruby -e 'require(\"sinatra\")'"
 6. ctrl-c
 7. tasklist /fi "IMAGENAME eq ruby.exe"
      * Expected: No process
      * Actual: process is still running

You might have to repeat steps 5 to 7 a few times for the issue to occur.
Another problem is that Q sometimes doesn't exit rerun but only the app
running inside, but that might be a problem with rerun itself or with
the shutdown detection they use.


Another example is Vagrant.
Although that is not a cygwin application, I usually recommend coworkers
to use it with cygwin, because it benefits from mintty's better console.
The problem there occurs when you invoke a long-running vagrant command
(vagrant provision, for instance) and then cancel it with ctrl-c.
If you do that, you're back at the bash prompt, but the provisioning run
still goes on and spams the console, making it unusable.


Under Kubuntu Linux 14.04/kde/konsole/bash, neither of these problems exist.
What the two examples seem to have in common is that they're both one
application invoking another:

  * rerun invokes sh -c "$1" (I think)
  * vagrant provision invokes (its bundled?) ssh

I think this is a bug and should be fixed. Is the bug with Cygwin or
should I report it elsewhere?

- BjÃrn Stabel aka. TomyLobo

Am 16.03.2016 um 14:24 schrieb Marco Atzeri:
> On 15/03/2016 01:45, Frank Farance wrote:
>> I have been having this problem with "ping".  If I "ping" a location
>> that doesn't exist, then "ping" just hangs and cannot be killed via
>> "kill -KILL [pid]".
>> Back to the problem, so when I type
>> $ ping
> I do not succeed to replicate.
> CTRL-C works fine for me
> $ type ping
> ping is hashed (/usr/bin/ping)
> $ ping
> PING ( 56 data bytes
> ---- PING Statistics----
> 4 packets transmitted, 0 packets received, 100.0% packet loss
> or I have not a biased DNS answer.
>> according to "ping", the hostname resolves to (as per the
>> explanation above), but I cannot kill "ping".  I tried "ping" with a
>> limited packet size and count so, in theory, "ping" would die on its own
>> after 10 packets, such as:
>> $ ping 50 10
>> but it still hangs rather than timing out.  If I ping to some actual IP
>> address that is unresponsive (route-able to the last subnet, but dies on
>> the floor at the end), then I can kill via ctrl-c.  My only solution to
>> the hanging "ping" is to kill the terminal window.
>> Any suggestions on:
>> - Why "ping" behaves this way?
>> - How to avoid this problem?
>> Thanks, in advance.
> cygwin ping is based on very old source from a time where people was not
> cheating on protocol answer.
> (the author passed away 16 years ago..)
> can you send me a strace to see where the program is stacking ?
> No promise to find a solution but I will look on it.
> Regards
> Marco
> -- 
> Problem reports:
> FAQ:         
> Documentation:
> Unsubscribe info:

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]