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: Outstanding issues with current DLL?


On Mon, Mar 19, 2001 at 09:00:04PM +0300, Egor Duda wrote:
>Hi!
>
>Monday, 19 March, 2001 Earnie Boyd earnie_boyd@yahoo.com wrote:
>
>EB> Earnie Boyd wrote:
>>> 
>>> Christopher Faylor wrote:
>>> >
>>> > Do you see this when you press CTRL-D to exit the window?
>>> >
>>> 
>>> I'm in the habit of typing `exit' which echoes back `logout\n'.  Bash
>>> isn't present, rxvt is still active to the cursor but no response.  I'm
>>> able to close the window with the "X in the upper right corner" once it
>>> is hung.
>
>EB> I just did a cvs update and a build, it's still hangin'.  I used the
>EB> CTRL-D method and it hangs with that to.  Not every time, about one in
>EB> ten.
>
>  I can reproduce this, though it seems that it's not related to the
>latest tty handling changes. At least i see this problem with 1.1.8
>too.  When i press ctrl-d and rxvt freezes, the situation is following --
>bash successfully exits, rxvt continue to poll master side of pty
>and sees eof there, but doesn't take it into account. Quick look in
>rxvt sources made me think that rxvt relies solely on SIGCHLD signal
>from child process. It seems that in that one of ten times, when rxvt
>freezes, it simply doesn't receive SIGCHLD, an continue waiting. Alas,
>as most of races, i cannot reproduce this behavior under strace or
>gdb.

I still can't reproduce this.  I'm running on a dual processor PII W2K
system -- I think I have finally resolved my hardware problems on this
system, hallelujah.

Have you tried setting the strace buffer up to something huge:

strace -oblah -b65535 rxvt

?  Sometimes this speeds things up enough to track down the problem.

I assume that the SIGCHLD is getting delivered but it's blocked for
some reason.  That is usually what causes this kind of symptom.
If you can attach to a hung rxvt, could you look at myself->_sigtodo[SIGCHLD+3]?
If that has a >0 number in it, then the signal is blocked.

cgf


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