This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: 2001-06-28 CVS ash Background Win32 Process Hang Problem


On Fri, Jul 13, 2001 at 03:09:05PM -0400, Jason Tishler wrote:
>I have some more (hopefully useful) information...
>
>On Tue, Jul 10, 2001 at 04:28:11PM -0400, Jason Tishler wrote:
>> The problem does not occur in 1.3.2 -- so it has been introduced since
>> that release.
>
>It appears that this problem was introduced somewhere between 1.3.2
>(which uname -a indicates was built on 2001-05-20 23:28) and when the
>2001-05-22 snapshot was built.  Unfortunately, even after reviewing the
>CVS commit mailing list, I could not find the culprit.
>
>Anyway, I've attached two strace logs -- the first exhibits the hang,
>then second does not.  The first one is produced by:
>
>    $ strace -o hang.log sh hang.sh
>
>and the second by:
>
>    $ strace -o nohang.log bash hang.sh
>
>Here is an interesting snippet from hang.log:
>
> 1262  248348 [main] sh 428 spawn_guts: spawn_guts null_app_name 0 (c:\WINNT\system32\notepad.exe, c:\WINNT\system32\notepad.exe)
> 1701  250049 [main] sh 428 spawn_guts: 463 = spawn_guts (/mnt/c/WINNT/system32/notepad, c:\WINNT\system32\notepad.exe)
>  276  250325 [main] sh 428 proc_subproc: args: 1, 37876916
>  189  250514 [main] sh 428 proc_subproc: added pid 463 to wait list, slot 0, winpid 0x1CF, handle 0x344
>  171  250685 [main] sh 428 proc_subproc: returning 1                             166  250851 [main] sh 428 spawn_guts: spawned windows pid 463
>  178  251029 [proc] sh 428 wait_subproc: looping
>
>XXX hangs here XXX
>
>55124741 55375770 [proc] sh 428 proc_subproc: args: 2, 0
>  318 55376088 [proc] sh 428 proc_subproc: pid 463[0] terminated, handle 0x344, nchildren 1, nzombies 0
>  220 55376308 [proc] sh 428 proc_subproc: zombifying [0], pid 463, handle 0x344, nchildren 1
>  171 55376479 [proc] sh 428 proc_subproc: returning 1
>  161 55376640 [proc] sh 428 sig_send: pid 428, signal 20, its_me 1
>  164 55376804 [proc] sh 428 sig_send: Not waiting for sigcomplete.  its_me 1 signal 20
>  162 55376966 [proc] sh 428 sig_send: returning 0 from sending signal 20
>  159 55377125 [proc] sh 428 wait_subproc: looping
>  171 55377296 [main] sh 428 spawn_guts: subprocess exited
>
>Note that when the hang returns there appears to be some unusually large
>numbers in column one and two which seem to indicate uninitialized or
>corrupted memory.
>
>Also attached is a gdb session obtained by attaching to the hung sh.exe.
>It appears that Cygwin is hung on WaitForMultipleObjects(), but nwait is
>also a huge number...

It's unlikely that this is a huge number.  It's more likely that gdb is
confused about the value.

The problem is due to a bug in vfork.  I thought I'd reported that in
the past.

cgf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]