Hi Atsuhiko, Thanks again for your reply. I've verified every version after 0.1.44 and they all fail (lock up) after a substantial number of bytes. The bulk requests setting does not resolve the issue.
Channel c = session.openChannel("sftp"); ((ChannelSftp)c).setBulkRequests(1); c.connect(); So going back to the differences between 0.1.44 and 0.1.49, the block of code that is causing the failure with ProFTPd is the following section from the _put(...) method in ChannelSftp: int foo = count; while (foo > 0) { if ((seq - 1) == startid || ((seq - startid) - ackcount) >= bulk_requests) { while (((seq - startid) - ackcount) >= bulk_requests) { if (this.rwsize >= foo) break; if (checkStatus(ackid, header)) { int _ackid = ackid[0]; if (startid > _ackid || _ackid > seq - 1) { if (_ackid == seq) { System.err.println("ack error: startid=" + startid + " seq=" + seq + " _ackid=" + _ackid); } else { throw new SftpException(SSH_FX_FAILURE, "ack error: startid=" + startid + " seq=" + seq + " _ackid=" + _ackid); } } ackcount++; } else { break; } } } foo -= sendWRITE(handle, offset, data, 0, foo); } If I change this block of code back to what it was in 0.1.44 (below), then the transfers complete successfully. int _i = count; while (_i > 0) { _i -= sendWRITE(handle, offset, data, 0, _i); if ((seq - 1) == startid || io_in.available() >= 1024) { while (io_in.available() > 0) { if (checkStatus(ackid, header)) { _ackid = ackid[0]; if (startid > _ackid || _ackid > seq - 1) { if (_ackid == seq) { System.err.println("ack error: startid=" + startid + " seq=" + seq + " _ackid=" + _ackid); } else { throw new SftpException(SSH_FX_FAILURE, "ack error: startid=" + startid + " seq=" + seq + " _ackid=" + _ackid); } } ackcount++; } else { break; } } } } What are your thoughts on reverting this back? And in doing so, what negative impacts would this present? Regards, Erick -----Original Message----- From: Atsuhiko Yamanaka [mailto:y...@jcraft.com] Sent: Thursday, October 10, 2013 1:59 AM To: Erick Lichtas Cc: jsch-users@lists.sourceforge.net Subject: Re: [JSch-users] Issues uploading to ProFTPd with mod_sftp Hi, +-From: Erick Lichtas <elich...@linoma.com> -- |_Date: Thu, 3 Oct 2013 21:20:10 +0000 _______ | |The latest versions of JSCH 0.1.49 and 0.1.50 are having issues |transferring larger files (I'm testing with ~400MB) to ProFTPD server, |however, the older version 0.1.44 that I've tested works (and has been |working just fine for quite some time. How about version 0.1.47 and 0.1.48? If 0.1.47 works fine, but 0.1.48 does not, try ((ChannelSftp)c).setBulkRequests(1) before invoking Channel#connect(). Sincerely, -- Atsuhiko Yamanaka JCraft,Inc. 1-14-20 HONCHO AOBA-KU, SENDAI, MIYAGI 980-0014 Japan. Tel +81-22-723-2150 Skype callto://jcraft/ Twitter: http://twitter.com/ymnk Facebook: http://facebook.com/aymnk ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk _______________________________________________ JSch-users mailing list JSch-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jsch-users