On Aug 24, 2009, at 11:56 AM, Jeremy Knope wrote:
> On Aug 24, 2009, at 11:43 AM, Daniel Stenberg wrote:
>> On Mon, 24 Aug 2009, Jeremy Knope wrote:
>>> [libssh2] 4.745432 Conn: Close received for channel 0/0
>>> Seems like libssh2 says the channel close was received but is
>>> still blocked?
>> Ehum. It does indeed look like you're onto something here.
>>> Not sure if I'm reading it right, but I'm going to tweak some more
>>> and see if I can get more info about what's going on with writing
>>> of the data.
>> That "Close received" message comes from the _libssh2_packet_add()
>> function. The _libssh2_packet_add() gets called from one place, and
>> that's from fullpacket() which is only called from within
>> _libssh2_transport_read() which is the lowest level SSH transport
>> reading function.
>> I have a feeling that the error is around src/channel.c:1830 (in
>> current git) where it only checks the remote.close or
>> libssh2_channel_eof() if bytes_read == 0, which seems like wrong
> hope that helps then, the tests I was just doing where it was
> hanging on close wait was just to 'localhost', just was doing a
> couple tests on a local OS X server to see if there's a difference
> with trace on etc. With that server it's consistently corrupting
> the files but successfully exiting the wait, just all the files I've
> tried ended up bad on the other end. I don't see anything
> suspicious in the trace, or know if it's related to the above
> issue. Here's an example of an image file:
> libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
Oh to add to this, the corruption only happened when I was using a
buffer size larger than what libssh2's write packet size limit was
(32*1024 I believe was the limit)
it would say it was splitting up the writes, I had it set to 128*1024
for buffer size. Once I set it to 32*1024 or lower I no longer had
files corrupting when going to this OS X server.
Jeremy Knope / Software Developer / Ambrosia Software, Inc. -- http://www.AmbrosiaSW.com/
Received on 2009-08-26