Subject: [ libssh2-Bugs-2828153 ] Hang in libssh2_sftp_readdir

[ libssh2-Bugs-2828153 ] Hang in libssh2_sftp_readdir

From: <>
Date: Tue, 28 Jul 2009 01:38:13 +0000

Bugs item #2828153, was opened at 2009-07-28 01:38
Message generated for change (Tracker Item Submitted) made by heymac
You can respond by visiting:

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: SFTP
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Mike Taylor (heymac)
Assigned to: Nobody/Anonymous (nobody)
Summary: Hang in libssh2_sftp_readdir

Initial Comment:
First off, thanks for your hard work on libssh2. It's tremendously useful project! I have an iPhone application that uses libssh2 (Briefcase). The current version of it has been pretty solid, using libssh2 v0.18.

I'm working on a bug fix release, and I'm using the git master branch of libssh2. I had tried using the 1.1 branch, but I hit the timing bug where channel reads would sometimes return 0 bytes. That problem is fixed for me, but now I have a new problem.

Now, I'm getting sporadic hangs when calling libssh2_sftp_readdir. This only happens when I'm accessing remote Linux servers (e.g. my Web Faction and Dreamhost servers). Local directory reads of OS X machines on my WiFi network seem reliable.

I tried building my application against different versions of libssh2. It could read directories reliably up until the following commit:

SHA: b95fe985af3c80a2babcaaaf7da69a15b1237c49
Author: Daniel Stenberg <>
Date: Wed May 20 2009 08:30:05 GMT-0400 (EDT)
Subject: If recv() returns something less than the full buffer we know we're done for now, so skip looping and doing another read that then simply will cause an EAGAIN as it may trick the user into believing things that aren't true.

Something in this change caused libssh2_sftp_readdir to have problems. If I back up one commit from this, then my directory reads are fine.

Let me know if you need more details!


You can respond by visiting:
Received on 2009-07-28