Ticket #68 (closed defect)

Opened 9 years ago

Last modified 8 years ago

Endlosloop in libssh2_sftp_close_handle

Reported by: anonymous Owned by: bagder
Priority: normal Milestone:
Component: Version:
Keywords: Cc: bagder
Blocked By: Blocks:

Description

At a customer site we use libssh2 via libcurl.
When trying to close a channel, we now and then come across (trace)

14:30:01.325284 libssh2_sftp_close_handle(0x8116dd0, 0x8114d10, 0xffecb748, 0x805f44b, 0x80f4460) = -37
14:30:01.325453 libssh2_sftp_close_handle(0x8116dd0, 0x8114d10, 0xffecb748, 0x805f44b, 0x80f4460) = -37
and so on
this seeems to be (in sftp.c)

while (sftp->handles) {

libssh2_sftp_close_handle(sftp->handles);

}

and in libssh2_sftp_close_handle

rc = libssh2_channel_write_ex(channel, 0,

(char *) handle->close_packet,
packet_len);

if (rc == PACKET_EAGAIN) {

return PACKET_EAGAIN;

}

We tried to stop this with alarm and sigsetjmp,
but it's still occuring.
Our current workaround is an external killscript,
but that's less than optimal.

Wolfgang Riedel

Change History

comment:1 Changed 8 years ago by bagder

Does this still happen with 1.0? If so, can you produce a full source snippet that reproduces this problem?

comment:2 Changed 8 years ago by sf-robot

This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).

Note: See TracTickets for help on using tickets.