Reproducer for TCSH hangs

Stewart Brown brown50@llnl.gov
Thu Feb 3 19:40:00 GMT 2011


The following shell script demonstrates a problem
that results in hanging scripts with CYGWIN 1.7.7:

#!/bin/csh -f

unalias *
set path = ( /usr/bin /usr/sbin /bin /sbin )

@ i = 0
while (1)

# uncomment this and the iteration will proceed
# in 10 second increments
#   ( sleep 10 ; cat /proc/*/cmdline >& /dev/null ) &

    @ i = $i + 1
    echo -n "$i "
    set foo = `echo "a" | cat | cat`
    echo "ok"
end

exit($status)


If this is run on our system it will hang most times
on the first iteration and certainly within 4 or 5 iterations.

If we uncomment the sleep line, it will run indefinitely
although with as many as 10 seconds per iteration.

The principal features are:

1) Running a command with pipes and setting a shell variable
    to the result.  The more pipes the more certain the hang.

2) Doing a 'cat /proc/*/cmdline' unblocks the pipe lines.
    This quirky feature provides a nearly acceptable workaround
    to keep our system usable.


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cygcheck.out
URL: <http://cygwin.com/pipermail/cygwin/attachments/20110203/2a82751d/attachment.ksh>
-------------- next part --------------
--
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