Thank you very much... :-) With your method, the error message is 'Resource temporarily unavailable' (!)
Digging deeper, I found two remarkable things: 1) session->api_timeout == 0 ... might be due to the interface (no session->api_timeout set??), but this doesn't seem to lead to program interruption. 2) in session.c::_libssh2_wait_socket(), line 632 – HAVE_POLL holds... rc = poll(sockets, 1, has_timeout?ms_to_next: -1); returns -1, which directly leads to LIBSSH2_ERROR_TIMEOUT. Any idea?? Thanks a lot in advance, Nick 2012/4/25 TJ Saunders <t...@castaglia.org> > > > [libssh2] 0.953586 Socket: Error recving 1 bytes: 11 > > [libssh2] 0.953603 Failure Event: -37 - Failed getting banner > > Main: TIMEOUT > > The "Error recving 1 bytes: 11" message comes from this code in > src/session.c: > > _libssh2_debug(session, LIBSSH2_TRACE_SOCKET, > "Error recving %d bytes: %d", 1, errno); > > which means that that 11 is the errno value on your system. (On my Ubuntu > Linux machine, errno 11 is EGAIN. Arguably, that error message could be > made more legible using strerror(), e.g.: > > _libssh2_debug(session, LIBSSH2_TRACE_SOCKET, > "Error recving %d bytes: [%d] %s", 1, errno, strerror(errno)); > > The -37 value is defined in the <libssh2.h> header file: > > #define LIBSSH2_ERROR_EAGAIN -37 > > indicating that the calling code should try the call again. So the error > could be transient (e.g. your socket is non-blocking, and there simply > wasn't data to be read yet on the socket when you called). In fact, you > see evidence of this in your second trace: > > > = = = = = = = = = = = = = = = = = > > Failure Event: -37 - Failed getting banner > > - - - - - - - - - - - - - - - - - - > > [libssh2] 0.299932 Transport: session_startup for socket 3 > > [libssh2] 0.299979 Transport: Sending Banner: SSH-2.0-OpenSSH_5.4 > > [libssh2] 0.300057 Socket: Sent 21/21 bytes at 0x1ffb630+0 > > [libssh2] 0.300118 Socket: Error recving 1 bytes: 11 > > [libssh2] 0.300149 Failure Event: -37 - Failed getting banner > > [libssh2] 0.307140 Socket: Recved 1 bytes banner > > Here we see the "-37 - Failed getting banner", but then it is followed by > reading the bytes for the banner, one at a time: > > > [libssh2] 0.307161 Socket: Recved 1 bytes banner > > [libssh2] 0.307168 Socket: Recved 1 bytes banner > > [libssh2] 0.307174 Socket: Recved 1 bytes banner > > [libssh2] 0.307179 Socket: Recved 1 bytes banner > > [libssh2] 0.307184 Socket: Recved 1 bytes banner > > [libssh2] 0.307189 Socket: Recved 1 bytes banner > > [libssh2] 0.307195 Socket: Recved 1 bytes banner > > [libssh2] 0.307200 Socket: Recved 1 bytes banner > > [libssh2] 0.307205 Socket: Recved 1 bytes banner > > [libssh2] 0.307210 Socket: Recved 1 bytes banner > > [libssh2] 0.307215 Socket: Recved 1 bytes banner > > [libssh2] 0.307220 Socket: Recved 1 bytes banner > > [libssh2] 0.307226 Socket: Recved 1 bytes banner > > [libssh2] 0.307231 Socket: Recved 1 bytes banner > > [libssh2] 0.307236 Socket: Recved 1 bytes banner > > [libssh2] 0.307241 Socket: Recved 1 bytes banner > > [libssh2] 0.307246 Socket: Recved 1 bytes banner > > [libssh2] 0.307251 Socket: Recved 1 bytes banner > > [libssh2] 0.307257 Socket: Recved 1 bytes banner > > [libssh2] 0.307263 Socket: Recved 1 bytes banner > > [libssh2] 0.307273 Transport: Received Banner: SSH-2.0-OpenSSH_5.8 > > And again here, as part of the key exchange: > > > [libssh2] 0.307979 Transport: Looking for packet of type: 20 > > [libssh2] 0.307988 Failure Event: -37 - Unable to exchange encryption > keys > > [libssh2] 0.308285 Socket: Recved 856/16384 bytes to 0x1fea5f8+0 > > <snip> > > > [libssh2] 0.309464 Transport: Packet type 20 received, length=846 > > [libssh2] 0.309474 Transport: Looking for packet of type: 20 > > So the looked-for packet of type 20 was found. > > Hope this helps shed some light on things, > TJ > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > We can understand one another; but each of us is able to > interpret himself to himself alone. > > -Hermann Hesse > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > _______________________________________________ > libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel >
_______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel