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]
Other format: [Raw text]

Re: 1.3.13?


On Mon, Aug 05, 2002 at 12:17:01PM -0400, Chris Faylor wrote:
> Nevermind.  I checked in a fix, I hope.  The moral of the story is that
> auto-reset events always seem to ensure a race.  I keep trying to use
> them but every time I do, a race results.

I have still a situation which fails.  I just tried a ssh localhost
which immediately died with a `connection reset by peer' message.

I tried the same with sshd started in debug mode on the command line.
ssh'ing to that sshd worked.  But when logging out again, the sshd
suddenly hangs for a while (just a few seconds) and then it crashes
which starts gdb on my box.  Unfortunately it's not visible what
exactly has happened.

The process has 10 threads, from which I can identify #1 as main thread,
#2 to #9 are threads[0-7] and #10 is unidentifiable.

#1, main, is just in start_thread_socket(), calling another `new cygthread'.
#2 == threads[0] is "sig", wait_sig()
#3 == threads[1] is "proc", wait_subproc()
#4 == threads[2] is "select_socket", thread_socket()
#5 == threads[3] has __name==NULL, thread_socket().

#6-#9 are in SuspendThread state in cygthread::stub.

#10 ???  The backtrace only contains two addresses in the system,
nothing else.  I have no idea what it does.

Of course, the effect is not reproducible under strace. :-P

I removed the "error_start=..." from $CYGWIN and created an strace
that way:

Exception: STATUS_ACCESS_VIOLATION at eip=6106F16B
eax=00000010 ebx=610CA1F0 ecx=00C9FF64 edx=00000010 esi=7FFDD000 edi=00000000
ebp=00C9FF74 esp=00C9FF5C program=C:\cygwin\usr\sbin\sshd.exe
cs=001B ds=0023 es=0023 fs=0038 gs=0000 ss=0023
Stack trace:
Frame     Function  Args
00C9FF74  6106F16B  (100C37D0, 00000000, 00000000, 00000001)
00C9FFB4  61004645  (610CA1F0, 00000000, 7FFDD000, 610CA1F0)
      3 [select_socket] sshd 3080 handle_exceptions: Error while dumping state (probably corrupted stack)

addr2line gives:

6106F16B = select.cc:530
61004645 = cygthread.cc:45

Do you have a spontaneous inspiration what happens?

I'm now going to return to using gdb to see if I can figure out what happens.

Corinna


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