long I/O delays when strace is running

Gluszczak, Glenn Glenn.Gluszczak@dell.com
Fri Apr 21 00:11:00 GMT 2017

I haven't run Cygwin Expect for about 6 moths on Windows but it was behaving fine last time I did.  
One thing I am aware of is you can't interrupt sleep in TCL.  The sleep must
complete until the Control C is processed (regardless of whether you redirected signals
to your own routines).  Otherwise signals seemed to be processed immediately.

Perhaps some other service is interfering.  You may want to disable other services.



Well I've solved one problem, but now I have another one. To try to understand why except is getting broken pipes (child processes are "going away"), I modified DejaGNU's /usr/bin/runtest so that it would strace each except process:

-exec "$expectbin" $debug -- "$runpath"/runtest.exp $target ${1+"$@"}
+exec strace --output=/tmp/runtest.$$.log --trace-children
--mask=startup  $expectbin $debug -- $runpath/runtest.exp $target ${1+"$@"}

However, when I run make -kj8 check after this, Cygwin processes that do 
file I/O and even ps become very unresponsive and CPU utilization is low 
(not to say that DejaGNU is good at balancing the test load). If I hit 
ctrl-C on the make process, it won't exit for somewhere around 30 
seconds.  I am able to reproduce this to some degree with this simple 
snippet, although the delays aren't as long as doing the above:

for ((i = 0; i < 64; ++i)); do strace --output=/tmp/sleep.$$.log 
--trace-children --mask=startup sleep 64; done

Can anybody try this and see if they get delays when running ps -ef or 
some such?


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