This is the mail archive of the cygwin 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]
Other format: [Raw text]

Re: Randomly hang when compiling Cygwin on Cygwin on Wine


On Nov  2 03:08, Qian Hong wrote:
> Update:
> 
> I have another case of hang:
> 
> ?(1)-+-bash(1419290)
>      |-bash(1419318)---make(1423770)---sh(1423783)---sh(1423838)
>      |-mintty(1249269)---bash(1249277)
>      |-mintty(47)---bash(55)---bash(1132827)---make(1139169)---sh(1139182)---make(1139234)---sh(1206695)---sh(1206721)---make(1206764)---sh(1206770)---make(1206783)---perl(1249042)
>      |-mintty(596773)---bash(596790)---pstree(1423865)
>      `-mintty(1417449)---bash(1417457)
> 
> 
> $ ps aux | grep 1249042
>   1249042 1206783 1132827    1249050  pty0      197608   Oct 31 /usr/bin/perl
>   1249077 1249042 1132827    1249092  pty0      197608   Oct 31
> /usr/bin/nm <defunct>
> 
> 
> 
> Here the process perl(1249042) is waiting for a pipe, while its child
> process nm(1249077) is in the status "defunct". nm(1249077) appears in
> output of `ps aux`, but doesn't appear in output of `pstree -p -l`.
> 
> Is there any case, where a child process can exit unexpected, but the
> parent process still incorrectly wait for the child process forever?

I don't answer this question conclusively before consulting my lawyer.
It *might* be possible.  See fhandler_base_overlapped::close(),
fhandler_base_overlapped::check_later() and flush_async_io(), all three
in fhandler.cc.

No, I'm not happy with using overlapped IO for pipes.  I'd prefer to use
nonblocking pipes instead, but the most required resource to fix this,
which is least available, is time :(


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: pgpKYaZ1ZYWK_.pgp
Description: PGP signature


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