cURL / Mailing Lists / curl-library / Single Mail


Re: curl sftp shutdown error with MessageWay server

From: Matt Wixson <>
Date: Thu, 1 Apr 2010 07:55:26 -0400

Please see my responses below >>

On Fri, Mar 26, 2010 at 9:10 AM, Daniel Stenberg <> wrote:

> On Fri, 26 Mar 2010, Matt Wixson wrote:
> As suggested in the libssh2 group, I ran libssh2's sftp.c example. The
>> libssh2 example works consistently with the MessageWay server, I can
>> download any file without issue. Curl and libcurl, however, consistently
>> hang after receiving the data and immediately before the message "SSH
>> DISCONNECT starts now".
> That of course hints that this is indeed a libcurl-problem.
> It appears there several differences between the sftp.c example and
>> libcurl, such as blocking vs non-blocking.
> You could try the non-blocking libssh2 example just to verify that it too
> is working.

>> sftp_nonblock also worked fine.

> I tried enabling blocking in libcurl
> That's not really a sensible way forward anyway, not even as a work-around.

>> acknowledged

> Please let me know if there is anything else I can try...this seems to be
>> an issue in libcurl with MessageWay.
> You should stop trying to find a work-around and instead try to help us
> debug the case. Extract information about what happened immediately before
> the hang and please research exactly what the hang is and why and what
> libcurl does when it hangs.
> Does it only do this against this particular server or have to experienced
> it on other servers?

>> I only have access to one MessageWay server, but curl sftp (as we know)
works fine with non-MessageWay servers (such as openssh).

>> Running in debug mode a Ctrl-C'd when the process hangs. Here is a stack
trace gdb using curl-7.20.0:
#0 0x005dc7a2 in _dl_sysinfo_int80 () from /lib/
#1 0x006b4dbd in poll () from /lib/tls/
#2 0x0059ac3d in Curl_socket_ready (readfd=6, writefd=-1, timeout_ms=1000)
at select.c:218
#3 0x0058dd48 in Transfer (conn=0x9c82dec) at transfer.c:1272
#4 0x0058ea90 in Curl_perform (data=0x9c796ec) at transfer.c:1966
#5 0x0058f467 in curl_easy_perform (curl=0x9c796ec) at easy.c:557
#6 0x08051f08 in operate (config=0xbff80280, argc=4, argv=0xbff80514) at
#7 0x080527cd in main (argc=4, argv=0xbff80514) at main.c:5502

>> I will continue researching this but any advice is welcome!


> --
> /
> -------------------------------------------------------------------
> List admin:
> Etiquette:

List admin:
Received on 2010-04-01