OpenSSH
[Top] [All Lists]

Re: sshd gets stuck: select() in packet_read_seqnr waits indefinitely

To: openssh-unix-dev@mindrot.org
Subject: Re: sshd gets stuck: select() in packet_read_seqnr waits indefinitely
From: Matt Day <opensshbugs@fjarlq.com>
Date: Wed, 14 Mar 2007 20:59:04 -0600
Delivered-to: sp-com-lists@consult.net
Delivered-to: openssh-unix-dev-list1@securepoint.com
Delivered-to: openssh-unix-dev-tmda@mindrot.org
Delivered-to: openssh-unix-dev@mindrot.org
In-reply-to: <20070315024347.GA10841@gate.dtucker.net>
List-archive: <http://lists.mindrot.org/pipermail/openssh-unix-dev>
List-help: <mailto:openssh-unix-dev-request@mindrot.org?subject=help>
List-id: Development of portable OpenSSH <openssh-unix-dev.mindrot.org>
List-post: <mailto:openssh-unix-dev@mindrot.org>
List-subscribe: <http://lists.mindrot.org/mailman/listinfo/openssh-unix-dev>, <mailto:openssh-unix-dev-request@mindrot.org?subject=subscribe>
List-unsubscribe: <http://lists.mindrot.org/mailman/listinfo/openssh-unix-dev>, <mailto:openssh-unix-dev-request@mindrot.org?subject=unsubscribe>
References: <20070314185309.GA40932@fjarlq.com> <20070315001416.GA28880@gate.dtucker.net> <20070315011208.GA48513@fjarlq.com> <20070315024347.GA10841@gate.dtucker.net>
Sender: openssh-unix-dev-bounces+openssh-unix-dev-list1=securepoint.com@mindrot.org
User-agent: Mutt/1.4.2.1i
On Thu, Mar 15, 2007 at 01:43:47PM +1100, Darren Tucker wrote:
> The descriptor is O_NONBLOCK (set by packet_set_nonblocking()), so the
> read() should return -1 with errno == EWOULDBLOCK or EAGAIN.
>
> [..]
>
> You could test for EWOULDBLOCK or EAGAIN and provide a more informative
> error message, though.

OK, thanks, I didn't notice that. Yeah, it might be useful to log
a debug message there. It would also seem safer and more clear to
handle the timeout case explicitly. Or perhaps a comment documenting
the O_NONBLOCK assumption.

What about the timeout handling in packet_write_wait? Do you really
want to proceed with the write() and then possibly loop back around
to the select() call?

Thanks,
Matt
_______________________________________________
openssh-unix-dev mailing list
openssh-unix-dev@mindrot.org
http://lists.mindrot.org/mailman/listinfo/openssh-unix-dev

<Prev in Thread] Current Thread [Next in Thread>