SFTP via JSch is throwing error 4: Failure

Saikat picture Saikat · Nov 13, 2014 · Viewed 23.5k times · Source

I am facing a peculiar issue while trying to SFTP a file from Windows to Unix server. The error "stack trace" is -

4: Failure
    at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2846)
    at com.jcraft.jsch.ChannelSftp.checkStatus(ChannelSftp.java:2459)
    at com.jcraft.jsch.ChannelSftp._sendCLOSE(ChannelSftp.java:2465)
    at com.jcraft.jsch.ChannelSftp._put(ChannelSftp.java:683)
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:475)
    at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:365)

I have searched a lot on other forums but could not get to the root cause. I have observed one more thing - the file name, I am trying to SFTP, is *.xml when I change it to *.XML the SFTP is "successful". Very weird could not identify the issue. I am trying this using JSch Java API. But I have seen the same issue while trying the WinSCP front end.

Answer

Martin Prikryl picture Martin Prikryl · Nov 13, 2014

It is common for OpenSSH SFTP server to return code 4 (Failure) for many different reasons, without giving any details.

You would have to check SFTP server log to find more.

Though the most usual cause is a lack of free disk or user quota space – Which can usually be identified by the file being created with zero size.