Reproducible hang with unusual border conditions

Volker Quetschke quetschke@scytek.de
Wed Apr 26 22:20:00 GMT 2006



Christopher Faylor wrote:
> On Wed, Apr 26, 2006 at 05:39:37PM -0400, Volker Quetschke wrote:
> 
>>On my search for the infamous cygwin hang while building OOo,
>>see <http://sources.redhat.com/ml/cygwin/2005-12/msg00279.html>,
>>and <http://wiki.services.openoffice.org/wiki/Windows#Miscellaneous_info>
>>that I couldn't reproduce myself (WJFFM) I finally managed to get a
>>reproducible hang on my systems that might be related.
>>
>>As said, the original OOo build works just fine here, but there is
>>an alternative possibility to build OOo with 4nt instead of tcsh, and
> 
>>from that I managed to reproduce a small testcase. Unfortunately
> 
>>it requires 4nt :(  and some strict/strange border conditions:
>>
>>1. It only hangs from rxvt. (Invoked with shortlink from desktop to:
>>C:\cygwin\bin\rxvt.exe  -cr green -sl 1000 -tn linux -e /usr/bin/bash 
>>--login -i)
>>I guess the actual switches don't matter.  Startting the following
>>example from the bash that is started from the cygwin icon (cygwin.bat)
>>didn't show the problem so far.
>>
>>2. Only hangs for "real" background processes started with setsid. From rxvt
>>like this:
>>$ setsid ./hang.sh >& hang.log
>>
>>You need to unpack the following testcase,
>><http://www.openoffice.org/nonav/issues/showattachment.cgi/36076/w32-4nt-hang.zip>
>>it contains the following files:
>>-rwxr-xr-x 1 quetschke None 147456 Apr  3 20:19 dmake.exe
>>-rwxr-xr-x 1 quetschke None      3 Apr 26 10:34 hang.XXX$
>>-rwxr-xr-x 1 quetschke None 192635 Apr 26 16:45 hang.log
>>-rwxr-xr-x 1 quetschke None    285 Apr 26 13:30 hang.mk
>>-rwxr-xr-x 1 quetschke None    133 Apr 26 13:22 hang.sh
>>
>>The dmake.exe is a native w32 version, from a m164 OO build with W32-4nt.
>>
>>For me, after entering the above command and letting it run for a few 
>>minutes,
>>I get a 4nt process that is stuck at 99% and no new output reaches hang.log.
>>
>>It definitely looks like 4nt is hanging, *BUT*
>>$ ps
>>     PID    PPID    PGID     WINPID  TTY  UID    STIME COMMAND
>>    3972       1    3972       3972  con 1006 16:35:12 /usr/bin/rxvt
>>I    3996    3972    3996       4008    0 1006 16:35:12 /usr/bin/bash
>>    3804       1    3804        736    ? 1006 16:49:29 /usr/bin/bash
>>     828    3804    3804       3760    ? 1006 16:52:26
>>/cygdrive/d/w1/w32-4nt-hang/dmake
>>
>>if I kill the calling cygwin script, kill 3804 in this case, 4nt stops to
>>loop.
>>
>>As you can see in hang.mk, I tried to reproduce the hang with cmd.exe, but I
>>cannot get to hang that either.
>>
>>This is a very elusive problem :(
> 
> 
> So, if I'm understanding what you're saying correctly, you are seeing a
> hang in a non-cygwin process (4nt) which can't be duplicated in a
> program with similar functionality (cmd) so therefore, your conclusion
> is that there is a cygwin bug?
> 
> Please verify what the identity of the actual hung program by running
> task manager.  If it really is a non-cygwin program that is having problems
> then I'm not tremendously concerned.
The 99% come from the task manager, obviously it is a non-cygwin program
that hangs.

But it looks suspicious that killing the toplevel cygwin
bash script stops the looping 4nt process - Through another native
W32 proc (hang.sh -> dmake -> 4nt). And also that
$ ls /proc/*/fd
now hangs until (see original problem with OOo build)
the 4nt or the script are killed looks strange.

I'm not trying to fix third party programs here, I'm clutching
every straw to produce a reproducible hang so that this problem
can be solved for good.

   Volker

-- 
PGP/GPG key  (ID: 0x9F8A785D)  available  from  wwwkeys.de.pgp.net
key-fingerprint 550D F17E B082 A3E9 F913  9E53 3D35 C9BA 9F8A 785D
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 254 bytes
Desc: OpenPGP digital signature
URL: <http://cygwin.com/pipermail/cygwin/attachments/20060426/cf0cbc24/attachment.sig>


More information about the Cygwin mailing list