Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sftp get file issues: #218

Closed
fjaenal opened this issue May 18, 2016 · 2 comments
Closed

sftp get file issues: #218

fjaenal opened this issue May 18, 2016 · 2 comments

Comments

@fjaenal
Copy link

fjaenal commented May 18, 2016

Anymore testing or information needed please, do not hesitate to ask.
@manojampalam I am going to rewrite this issue with more accurate information and explaining the tests done;
First test set

  • SSHD Release April
  • Client JSCH 1.5.3
  • Connection type (User / Password and PK)
  • Client OS: Windows 7 - 64 bits
  • Server OS: Windows Server 2008 r2

Server SSHD Configuration (For simplicity I only show the values that are not commmented on the config file):
Port 22203
ListenAddress 0.0.0.0
Protocol 2
HostKey c:\OpenSSH-Win32\ssh_host_rsa_key
HostKey c:\OpenSSH-Win32\ssh_host_dsa_key
HostKey c:\OpenSSH-Win32\ssh_host_ecdsa_key
LogLevel DEBUG3
StrictModes yes
MaxSessions 20
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
Banner C:\OpenSSH-Win32\banner.txt
Subsystem sftp C:\Open-SSH-Win32-May\sftp-server.exe
PubkeyAcceptedKeyTypes ssh-ed25519
,ssh-rsa_,ssh-dss_,ecdsa-sha2__

When doing a transfer of a file of more than 16 KB (I tested with a file of 1.5 MB) not all the file is transferred and the messages on the server logs are:
4044 10:32:14 719 debug3: select - returning 1
4044 10:32:14 719 debug3: sigprocmask() how:8309960
4044 10:32:14 719 debug3: sigprocmask() how:8309960
4044 10:32:14 719 debug3: w32_write fd:3
4044 10:32:14 719 debug2: send - io:007D6D00
4044 10:32:14 719 debug2: send - WSASend() returned 0, APC scheduled io:007D6D00
4044 10:32:14 719 debug2: WSASendCB - io:007D6D00, pending_state:1, error:0, sent:44 of remaining:44
4044 10:32:14 719 debug3: w32_select fd:3
4044 10:32:14 719 debug3: w32_select fd:4
4044 10:32:14 719 debug3: w32_select fd:8
4044 10:32:14 719 debug3: w32_select fd:10
4044 10:32:14 719 debug3: Total in fds:4
4044 10:32:14 720 debug2: on_select - io:007D6D00 type:1 rd:1
4044 10:32:14 720 debug3: wait() on 0 events and 1 childres
4044 10:32:14 720 debug3: wait() on 0 events and 1 childres
4044 10:32:14 721 debug2: ReadCB pio:007D7300, pending_state:1, error:109, received:0
4044 10:32:14 721 debug2: ReadCB pio:007D7400, pending_state:1, error:109, received:0
4044 10:32:14 721 debug3: select - returning 2
4044 10:32:14 721 debug3: sigprocmask() how:8309960
4044 10:32:14 721 debug3: sigprocmask() how:8309960
4044 10:32:14 721 debug3: w32_read fd:8
4044 10:32:14 721 debug3: read - io:007D7300 remaining:0
4044 10:32:14 721 debug2: read - (2) no more data, io:007D7300
4044 10:32:14 721 debug2: channel 0: read<=0 rfd 8 len 0
4044 10:32:14 721 debug2: channel 0: read failed
4044 10:32:14 721 debug2: channel 0: close_read
4044 10:32:14 721 debug3: w32_close fd:8
4044 10:32:14 721 debug1: close - io:007D7300, type:2, fd:8, table_index:8
4044 10:32:14 721 debug2: fileclose - pio:007D7300
4044 10:32:14 721 debug2: channel 0: input open -> drain
4044 10:32:14 721 debug3: w32_read fd:10
4044 10:32:14 721 debug3: read - io:007D7400 remaining:0
4044 10:32:14 721 debug2: read - (2) no more data, io:007D7400
4044 10:32:14 721 debug2: channel 0: read 0 from efd 10
4044 10:32:14 721 debug2: channel 0: closing read-efd 10
4044 10:32:14 721 debug3: w32_close fd:10
4044 10:32:14 721 debug1: close - io:007D7400, type:2, fd:10, table_index:10
4044 10:32:14 721 debug2: fileclose - pio:007D7400
4044 10:32:14 721 debug2: channel 0: ibuf empty
4044 10:32:14 721 debug3: w32_write fd:3
4044 10:32:14 721 debug2: send - io:007D6D00
4044 10:32:14 721 debug2: send - WSASend() returned 0, APC scheduled io:007D6D00
4044 10:32:14 721 debug2: WSASendCB - io:007D6D00, pending_state:1, error:0, sent:44 of remaining:44
4044 10:32:14 721 debug2: channel 0: send eof
4044 10:32:14 721 debug2: channel 0: input drain -> closed
4044 10:32:14 721 debug3: w32_select fd:3
4044 10:32:14 721 debug3: w32_select fd:4
4044 10:32:14 721 debug3: w32_select fd:3
4044 10:32:14 721 debug3: Total in fds:3
4044 10:32:14 721 debug2: on_select - io:007D6D00 type:1 rd:1
4044 10:32:14 721 debug2: on_select - io:007D6D00 type:1 rd:0
4044 10:32:14 721 debug3: wait() on 0 events and 1 childres
4044 10:32:14 722 debug1: zombie'ing child at index 0, 0 zombies of 1
4044 10:32:14 722 debug3: process_signals()
4044 10:32:14 722 debug1: raise sig:3
4044 10:32:14 722 debug2: signal() sig:3, handler:009A1EC0
4044 10:32:14 722 debug3: w32_write fd:5
4044 10:32:14 722 debug2: write - io:007D7180
4044 10:32:14 722 debug2: ReadCB pio:007D7100, pending_state:1, error:0, received:1
4044 10:32:14 722 debug2: WriteCB - pio:007D7180, pending_state:1, error:0, transferred:1 of remaining: 1
4044 10:32:14 722 debug2: write - reporting 1 bytes written, io:007D7180
4044 10:32:14 722 debug1: process_queued_signals: WARNING - A signal has interrupted and was processed
4044 10:32:14 722 debug3: sigprocmask() how:8309960
4044 10:32:14 722 debug1: Received SIGCHLD.
4044 10:32:14 722 debug3: waitpid - pid:-1, options:1
4044 10:32:14 722 debug1: Unregister child at index 0, 1 zombies of 1
4044 10:32:14 722 debug1: session_by_pid: pid 5616
4044 10:32:14 722 debug1: session_exit_message: session 0 channel 0 pid 5616
4044 10:32:14 722 debug2: channel 0: request exit-status confirm 0
4044 10:32:14 722 debug1: session_exit_message: release channel 0
4044 10:32:14 722 debug2: channel 0: write failed
4044 10:32:14 722 debug2: channel 0: close_write
4044 10:32:14 722 debug3: w32_close fd:7
4044 10:32:14 722 debug1: close - io:007D7280, type:2, fd:7, table_index:7
4044 10:32:14 722 debug2: fileclose - pio:007D7280
4044 10:32:14 722 debug2: channel 0: send eow
4044 10:32:14 722 debug2: channel 0: output open -> closed
4044 10:32:14 722 debug1: Sending exit signal to child process [pid = 5616]...
4044 10:32:14 722 debug1: session_pty_cleanup: session 0 release console
4044 10:32:14 722 debug3: getpwnam: username [Administrator]
4044 10:32:14 722 debug3: waitpid - pid:-1, options:1
4044 10:32:14 722 debug3: sigprocmask() how:8309960
4044 10:32:14 722 debug2: channel 0: send close
4044 10:32:14 722 debug3: channel 0: will not send data after close

I have this problem also if I test with the following configurations:
Second test set

  • SSHD Release May
  • Client JSCH 1.5.3
  • Connection type (User / Password and PK)
  • Client OS: Windows 7 - 64 bits
  • Server OS: Windows Server 2008 r2

Third test set

  • SSHD Release April
  • Client WinSCP (Both with and without RESUME)
  • Connection type (User / Password)
  • Client OS: Windows 7 - 64 bits
  • Server OS: Windows Server 2008 r2

Fourth test set

  • SSHD Release May
  • Client WinSCP (Both with and without RESUME)
  • Connection type (User / Password)
  • Client OS: Windows 7 - 64 bits
  • Server OS: Windows Server 2008 r2

The file sent is a text file generated on the Server and trying to get it from the client. And only works if I use the sft.exe client provide in the build, any other client looks that it fails. And I think is something in the server side when reading the file.

@fjaenal
Copy link
Author

fjaenal commented May 27, 2016

Some more tests I have done, Any file over 127kb will fail (the limit is between 69 KB and 127 KB. Is consistent the problem with winscp and JSCH Jcraft java libraries.

@manojampalam
Copy link
Contributor

Fixed in latest release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants