ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
From: markdblackwell01@gmail.com
To: ruby-core@ruby-lang.org
Subject: [ruby-core:79908] [Ruby trunk Bug#13280] net/ftp: Putbinaryfile (on Windows) requires blocksize equal to file size
Date: Sat, 04 Mar 2017 18:15:44 +0000	[thread overview]
Message-ID: <redmine.issue-13280.20170304181543.1848cbf64f9c1fb0@ruby-lang.org> (raw)
In-Reply-To: redmine.issue-13280.20170304181543@ruby-lang.org

Issue #13280 has been reported by Mark D Blackwell.

----------------------------------------
Bug #13280: net/ftp: Putbinaryfile (on Windows) requires blocksize equal to file size
https://bugs.ruby-lang.org/issues/13280

* Author: Mark D Blackwell
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
I searched this issue list (for Descriptions including `ftp`), but didn't find this problem discussed.

Recently, in the process of developing a new program, I invoked `putbinaryfile` (in passive mode) on a large file (about 1.3 megabytes) without specifying its `blocksize` argument. Invariably, the server terminated the transfer about five seconds after its start. (BTW, this approximates the duration in which other FTP clients completely send this entire file—with my setup.)

Much smaller files transferred fine.

Eventually, using a test file of about 63 kilobytes, I discovered that if I specified a `blocksize` identical to the file length (in bytes), it worked. And the transfer failed when the `blocksize` was one byte smaller.

Now, I've added code (in my own program) in order to obtain the file size of every file I want to send, and set the `blocksize` argument to that size (exactly). (Except that, for empty files, I need to set it to `1`: otherwise it hangs.)

Since then, I've sent hundreds of files (many of which are approximately 1 or 2 megabytes in size) without experiencing this problem.

Why should I need to set the `blocksize` in this way? It seems undocumented, to say the least.

I'm on Windows 7 — and I'm using an old version of Ruby (for the moment). Nevertheless, (supposedly) this problem may still exist:

~~~
> ruby -v
ruby 2.2.4p230 (2015-12-16 revision 53155) [x64-mingw32]
~~~



-- 
https://bugs.ruby-lang.org/

       reply	other threads:[~2017-03-04 17:44 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <redmine.issue-13280.20170304181543@ruby-lang.org>
2017-03-04 18:15 ` markdblackwell01 [this message]
2017-03-13  8:57 ` [ruby-core:80119] [Ruby trunk Bug#13280][Assigned] net/ftp: Putbinaryfile (on Windows) requires blocksize equal to file size shyouhei
2017-03-14  1:09 ` [ruby-core:80148] [Ruby trunk Bug#13280] " shugo
2017-06-09 16:33 ` [ruby-core:81639] " markdblackwell01
2017-07-19 22:00 ` [ruby-core:82111] [Ruby trunk Bug#13280][Rejected] " shugo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.ruby-lang.org/en/community/mailing-lists/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=redmine.issue-13280.20170304181543.1848cbf64f9c1fb0@ruby-lang.org \
    --to=ruby-core@ruby-lang.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).