Yeah, Ruby Fixnum normally automatically casts to Bignum if you exceed Fixnum boundaries, so it would be an odd case that a reference counter overflow would hang this up. This is really puzzling, and I'm wondering if the bug isn't further down the stack, like Net::SSH or something.
I'm curious, have you tried Session#download instead of Session#download!. The former is non-blocking, but won't really have any effect on your operation unless you specifically need it to block until finished. This really sucks to debug! Waiting for a 4 GB file transfer is like waiting for paint to dry. On Sunday, May 12, 2013 11:43:04 PM UTC-4, Chris McCann wrote: > > Thanks very much, Brad. I looked through the source to see if I could find > a 32-bit integer somewhere that might be the problem but didn't find any > smoking guns. Let me know if you do. > > On May 12, 2013, at 8:24 PM, bradleyland <[email protected]<javascript:>> > wrote: > > A lot of libraries (Ruby and elsewhere) handle large files rather naively. > Fortunately, Net::SFTP looks like it has some smarts for this. The docs for > Session#download! say: "If local [the second argument] is omitted, > downloads the file to an in-memory buffer and returns the result as a > string; otherwise, returns the Net::SFTP::Operations::Download instance." > The next place to look is at Download: > http://net-ssh.github.io/net-sftp/classes/Net/SFTP/Operations/Download.html. > It looks like you've already been there though, because you're using the > event handler. The file is written as the download progresses, so it > doesn't look like it's cramming the whole thing in memory. I also watched > memory usage while downloading a large file, and the ruby process stays > around 30 MB, so I don't think it's an issue related to in-memory buffering. > > I'm still digging to see if I can find a reason why it would hang at 4 GB. > > -- > -- > SD Ruby mailing list > [email protected] <javascript:> > http://groups.google.com/group/sdruby > --- > You received this message because you are subscribed to a topic in the > Google Groups "SD Ruby" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/sdruby/4OhfZ4hklIA/unsubscribe?hl=en. > To unsubscribe from this group and all its topics, send an email to > [email protected] <javascript:>. > For more options, visit https://groups.google.com/groups/opt_out. > > > > -- -- SD Ruby mailing list [email protected] http://groups.google.com/group/sdruby --- You received this message because you are subscribed to the Google Groups "SD Ruby" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
