This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: long I/O delays when strace is running
- From: "Gluszczak, Glenn" <Glenn dot Gluszczak at dell dot com>
- To: "cygwin at cygwin dot com" <cygwin at cygwin dot com>
- Date: Thu, 20 Apr 2017 13:43:51 +0000
- Subject: RE: long I/O delays when strace is running
- Authentication-results: sourceware.org; auth=none
- References: <be8713ec-5b68-e0e9-c5a5-d48fce491a2d@pobox.com>
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.
Glenn
================================================================
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?
Thanks,
Daniel
--
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