Subject: Re: kern/20337: current-current kernel drives sendmail crazy
To: Frank Kardel <Frank.Kardel@Acrys.COM>
From: Sean Davis <dive@endersgame.net>
List: netbsd-bugs
Date: 02/20/2003 10:59:53
On Thu, Feb 20, 2003 at 12:26:02PM -0000, Frank Kardel wrote:
> Sean Davis <dive@endersgame.net> said:
>
> > On Fri, Feb 14, 2003 at 12:02:03PM +0100, Frank Kardel wrote:
> > > Sean Davis wrote:
> > >
> >
> > Hmm... Well, this was supposedly fixed, but it is not. It still happens to
> me
> > with ssh2 from ssh.com. Seems to be less bad (ie it'll hang in the middle
> of an
> > 'ls' on the remote system but if i hit enter it'll show me the rest of the
> > output) but still hangs things like irc totally and makes ssh2 need
> killing. :\
>
> Things looked fine at my site - but if this persists for you maybe
> you send-pr it again with a reference to possible the old bug and
> a description of yout symptoms. Is ssh looping again on read() and EAGAIN?
>
It's not sticking in read/EAGAIN anymore. Here's what ktrace looks like now:
(its sticking in select())
16407 ssh2 CALL read(0,0xbfbfdad8,0x400)
16407 ssh2 RET read -1 errno 35 Resource temporarily unavailable
16407 ssh2 CALL gettimeofday(0x813fea8,0)
16407 ssh2 RET gettimeofday 0
16407 ssh2 CALL gettimeofday(0x813ff08,0)
16407 ssh2 RET gettimeofday 0
16407 ssh2 CALL gettimeofday(0x81500a8,0)
16407 ssh2 RET gettimeofday 0
16407 ssh2 CALL gettimeofday(0x81500c8,0)
16407 ssh2 RET gettimeofday 0
16407 ssh2 CALL gettimeofday(0xbfbff0b8,0)
16407 ssh2 RET gettimeofday 0
16407 ssh2 CALL select(0x4,0xbfbff0f8,0xbfbff0d8,0,0xbfbff0a8)
16407 ssh2 RET select 0
16407 ssh2 CALL gettimeofday(0xbfbff0b8,0)
16407 ssh2 RET gettimeofday 0
16407 ssh2 CALL __sigaction_sigtramp(0xd,0xbfbfeda0,0xbfbfed88,0x481c2848,0x1)
16407 ssh2 RET __sigaction_sigtramp 0
16407 ssh2 CALL write(0x3,0x815f008,0x68)
16407 ssh2 GIO fd 3 wrote 104 bytes
"\^P\M^L \M-T`\240o\M-M\M-c\M-`\M^X\M-~\M-[\M-94\^P\M-yTe\240B\M-)\M-kD\M-@\
\M-g\M-0\M-y5C\^SEc\M-\\M^Y\M-2\M-e\0e`|\M^\\M-_\M^M\M-k\M^B\0\M-KV\^A0\M-'\
'\M-+9E\^Z\M-'/\M-w\M^S'\M^N\M-YXt\M-R\M-d\M^[d\M-&\M-*\M-::\M-d\M-x\M^S\^E\
\M^D\M-%#\M^Q\M-p\^[~\M-7\M^B\M-}.A\M-&mk\M^K~ber\M^P\M-=\M-j&Sl"
16407 ssh2 RET write 104/0x68
16407 ssh2 CALL __sigaction_sigtramp(0xd,0xbfbfeda0,0xbfbfed88,0x481c2848,0x1)
16407 ssh2 RET __sigaction_sigtramp 0
16407 ssh2 CALL gettimeofday(0xbfbff0b8,0)
16407 ssh2 RET gettimeofday 0
16407 ssh2 CALL select(0x4,0xbfbff0f8,0xbfbff0d8,0,0xbfbff0a8)
^ and this is where its hung.
From looking up, the last thing to have fd 4 was /etc/pwd.db... the socket seems
to be fd 3, which was where the EAGAIN loop was happening. File descriptor 4
gets closed after reading pwd.db, so maybe thats where/why its hanging... I'll
have to investigate some more before I send a PR.
--
/~\ The ASCII
\ / Ribbon Campaign Sean Davis
X Against HTML aka dive
/ \ Email!