From: Derek Pagel <Derek.Pagel@infor.com>
To: "cygwin@cygwin.com" <cygwin@cygwin.com>
Subject: Cygwin commands are intermittently hanging on Windows
Date: Mon, 7 Nov 2022 22:06:46 +0000 [thread overview]
Message-ID: <CH2PR02MB60248F2E94F6AE770B509A59E53C9@CH2PR02MB6024.namprd02.prod.outlook.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 2463 bytes --]
We've been encountering Cygwin commands that are intermittently hanging on Windows. We don't have any predictable way to reproduce it besides running commands in a loop until we encounter a hang. So, we've created a script that will loop and execute 5 different Cygwin commands (touch, cp, mv, which, and rm) and log any commands that take longer than a second. The script is set to loop 10,000 times which gives a handful of instances of hangs in the log that have taken anywhere from 10-200 seconds to complete. Has anyone else encountered hangs from Cygwin commands?
I've printed the script below for reference:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
use strict;
use Cwd;
my $TESTDIR = getcwd() . "\\test<file://test>";
my $MKDIRCMD = "mkdir test";
my $TOUCHCMD = 'touch test.txt';
my $CPCMD = 'cp test.txt test2.txt';
my $MVCMD = "mv test.txt " . $TESTDIR . "\\test.txt<file://test.txt>";
my $WHICHCMD = 'which explorer.exe';
my $RMCMD = "rm " . $TESTDIR . "\\test.txt test2.txt<file://test.txt%20test2.txt>";
my $count = 0;
my $fh;
my $LOG = open $fh, '>', 'cygwinTest.log';
if ( ! -e $TESTDIR ) {
runCMD($MKDIRCMD, 0);
}
while ($count < 10000) {
print "Loop $count:\n";
runCMD($TOUCHCMD, $count);
runCMD($CPCMD, $count);
runCMD($MVCMD, $count);
runCMD($WHICHCMD, $count);
runCMD($RMCMD, $count);
$count++;
}
sub runCMD {
my $CMD = $_[0];
my $COUNT = $_[1];
my $retCode;
my $startTime;
my $endTime;
my $totalTime;
$startTime = time();
$CMD = "C:\\Windows\\system32\\cmd.exe /c $CMD";
$retCode = system($CMD);
$endTime = time();
$totalTime = $endTime - $startTime;
if ($totalTime > 1 ) {
print $fh "Loop #$COUNT:\n";
if ($retCode == 0) {
print $fh "It took $totalTime seconds to run [$CMD]\n";
} else {
print $fh "It took $totalTime seconds to unsuccesfully run [$CMD]\n";
}
}
}
close $fh;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next reply other threads:[~2022-11-07 22:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-07 22:06 Derek Pagel [this message]
2022-11-08 0:24 ` Takashi Yano
2022-11-08 13:25 ` Derek Pagel
2022-11-08 15:41 ` Takashi Yano
2022-11-08 16:00 ` Derek Pagel
2022-11-08 16:50 ` Takashi Yano
2022-11-08 17:17 ` Derek Pagel
2022-11-08 17:24 ` Takashi Yano
2022-11-08 18:11 ` Derek Pagel
2022-11-22 13:23 ` Derek Pagel
2022-11-16 17:19 ` Derek Pagel
2022-11-25 21:54 ` Brian Inglis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CH2PR02MB60248F2E94F6AE770B509A59E53C9@CH2PR02MB6024.namprd02.prod.outlook.com \
--to=derek.pagel@infor.com \
--cc=cygwin@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).