Re: Windows locks up when pressing Ctrl+S while native process writes to terminal
Aaron Digulla
digulla@hepe.com
Mon Nov 23 12:04:00 GMT 2015
Am Sonntag, 22. November 2015 20:17 CET, Thomas Wolff <towo@towo.net> schrieb:
> > I found a consistent bug that happens every time:
> > ...
> > - Press Ctrl+S to stop the output in the terminal
> >
> > Bug #1: It's not possible to unfreeze the output in the terminal with Ctrl+Q. It just stays "stuck"
> I confirm this effect and you don't need a fat application to
> demonstrate it. With this Windows cmd script loop.bat:
> @echo off
> set n=0
> :loop
> echo %n%
> echo %n% >> .log
> set /A n=%n% + 1
> ping 127.0.0.1 -n 2 > nul
> goto loop
>
> run it: ./loop.bat, then use ^S; the script will actually continue to
> run but will not show any more output in a pty-based terminal (works in
> Cygwin console).
Okay. So it seems to be a consistent bug which only affects me. What happens next?
> > Bug #2: After a few seconds, the disk starts to trash. ...
> Thrashing? Might be caused by the apparently-stopped application going
> into some endless-loop activity.
I feel that Windows runs out of memory but I have no idea why. If cygwin uses the standard OS services to create pipes between processes, there will be a 4KB buffer which the native process can fill and that's it. It should then block in a call to `write()` (or the equivalent) and not be able to do anything.
I have about 2-3GB free RAM, so even if pipe would buffer all the output, it shouldn't be able to make Windows run out of memory. The Maven build reads and write files but all in all, we're talking 40-60MB tops.
I'm a bit reluctant to run more tests since it takes my computer so long to heal (it's actually my company's computer, so I'm supposed to work, not wait for it to heal after testing a cygwin bug :-).
Regards,
--
Aaron "Optimizer" Digulla a.k.a. Philmann Dark
"It's not the universe that's limited, it's our imagination.
Follow me and I'll show you something beyond the limits."
http://blog.pdark.de/
--
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
More information about the Cygwin
mailing list