On Wed, 3 Nov 2010, Mark Riordan wrote:

Progress, but now it hangs.

Hangs!? Are you using the libssh2 API set to blocking or non-blocking?

(As you know, this is with the client running on Windows 2003R2.)

Uhm, just to be sure: that's not a 64 bit OS, is it?

Using output buffer size of 32500 bytes
libssh2_sftp_write 1 sent 12000 bytes
libssh2_sftp_write 2 sent 4000 bytes
libssh2_sftp_write 3 sent 4000 bytes
libssh2_sftp_write 4 sent 4000 bytes
libssh2_sftp_write 5 sent 4000 bytes
libssh2_sftp_write 6 sent 4000 bytes
libssh2_sftp_write 7 sent 500 bytes
libssh2_sftp_write 8 sent 4000 bytes
libssh2_sftp_write 9 sent 8000 bytes
libssh2_sftp_write 10 sent 4000 bytes
(then it hangs)

Sometimes it hangs after write #2.

When it hangs, can you figure out where it is in the code and what it does? Like attaching a debugger to the running process or possibly run it from a debugger to start with?

Or perhaps you have something strace/ltrace-like that can provide further data on what it does when it hangs or even immediately before.

Naturally, if I enable tracing, the upload completes.

Yes. It could be an idea to make sure the debugdump() in src/transport.c isn't used to see if you can get the hang with the rest of the debug outputs left. debugdump() is what produces the most output.

--

 / daniel.haxx.se
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

Reply via email to