This is the mail archive of the
cygwin
mailing list for the Cygwin project.
1.7.7-1: tcsh occasionally hanging
- From: Geo Pertea <geo dot pertea at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 15 Sep 2010 11:32:37 -0400
- Subject: 1.7.7-1: tcsh occasionally hanging
Since upgrading to cygwin 1.7 recently I have been experiencing
sporadic failures of cygwin tcsh initialization: when opening new shell
terminals (I start Cygwin using mintty.exe -e /bin/tcsh) they sometimes
hang indefinitely. I have the same cygwin setup installed on two
computers (both with Windows XP SP3 32bit), and both of them are
experiencing this with different frequencies: for the faster, dual-core
PC it happens very rarely, but on the slower, single-CPU one the hanging
was almost constant, and disabling my .cshrc script didn't help at all.
Using ProcessExplorer I noticed that the hanging tcsh process was also
spawning 'cut' and 'sed' processes hanging there (sometimes just one of
them, other times both were still there). I did have cygwin 1.7.7-1 at
the time I was investigating this, and I was able to isolate the problem
to this particular block in the /etc/profile.d/complete.tcsh script:
if ( -r "$HOME/.ssh/known_hosts" ) then
set f=`cat "$HOME/.ssh/known_hosts" | cut -f 1 -d \ ` >& /dev/null
set f=`cat "$HOME/.ssh/known_hosts" | cut -f 1 -d \ | sed -e
's/,/ /g'` >& /dev/null
set hosts=($hosts $f)
endif
I do have quite a large list of hosts in the ~/.ssh/known_hosts file and
I want to keep that way. However, in order to prevent tcsh from hanging
I had to comment out the block above. Note that on the other, faster PC
there was no need to do the same (even though the known_hosts file is
about the same size), so my suspicion is that in tcsh with 1.7 there are
some issues with pipe handling, perhaps a race condition somewhere that
triggers more often on slower PCs.
-Geo
--
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