[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Hangs on password queries once SSH session is up


On Sun, Jun 20, 2010 at 08:20:36AM -0400, Pierre Lewis wrote:

> I should be able to get the traces today.

With 0.4.4.90, with traces on, I cannot reproduce the problem.
With traces off, it usually works, I got one hang (suggesting a
race condition). I will continue trying to get better traces.

With 0.4.2, I get the problem reliably. Here are the last few
traces in the file, after the first character of the password has
been sent to remote (I continued typing, but these weren't sent).
The line numbers will be off in a few files (by 6 or 7) because I
added a few things in the #include section to overcome header file
collisions.

        +--- I trimmed many blanks here, it kept getting wider, as if
        V    some function exits were missing

[func]     entering function ssh_handle_packets line 314 in libssh/session.c
[func]      entering function ssh_socket_poll line 468 in libssh/socket.c
[func]      leaving function ssh_socket_poll line 507 in libssh/socket.c
[func]      entering function packet_read2 line 71 in libssh/packet.c
[func]       entering function ssh_socket_wait_for_data line 384 in libssh/socket.c
[func]       leaving function ssh_socket_wait_for_data line 421 in libssh/socket.c
[func]       entering function ssh_socket_read line 325 in libssh/socket.c
[func]        entering function ssh_socket_wait_for_data line 384 in libssh/socket.c
[func]        leaving function ssh_socket_wait_for_data line 389 in libssh/socket.c
[func]       leaving function ssh_socket_read line 336 in libssh/socket.c
[3] Decrypting 16 bytes
[3] Packet size decrypted: 28 (0x1c)
[func]       entering function ssh_socket_wait_for_data line 384 in libssh/socket.c
[func]       leaving function ssh_socket_wait_for_data line 421 in libssh/socket.c
[func]       entering function ssh_socket_read line 325 in libssh/socket.c
[func]        entering function ssh_socket_wait_for_data line 384 in libssh/socket.c
[func]        leaving function ssh_socket_wait_for_data line 389 in libssh/socket.c
[func]       leaving function ssh_socket_read line 336 in libssh/socket.c
[3] Read a 28 bytes packet
[3] Decrypting 16 bytes
[func]       entering function ssh_socket_read line 325 in libssh/socket.c
[func]        entering function ssh_socket_wait_for_data line 384 in libssh/socket.c
[func]        leaving function ssh_socket_wait_for_data line 389 in libssh/socket.c
[func]       leaving function ssh_socket_read line 336 in libssh/socket.c
[3] 17 bytes padding, 27 bytes left in buffer
[3] After padding, 10 bytes left in buffer
[func]      leaving function packet_read2 line 230 in libssh/packet.c
[func]      entering function packet_translate line 405 in libssh/packet.c
[3] Final size 10
[3] Type 2
[func]      leaving function packet_translate line 425 in libssh/packet.c
[func]      entering function ssh_socket_poll line 468 in libssh/socket.c
[func]      leaving function ssh_socket_poll line 507 in libssh/socket.c
[func]     leaving function ssh_handle_packets line 320 in libssh/session.c
[func]     entering function channel_poll line 2004 (a few less) in libssh/channels.c
[func]      entering function ssh_handle_packets line 314 in libssh/session.c
[func]       entering function ssh_socket_poll line 468 in libssh/socket.c
[func]       leaving function ssh_socket_poll line 507 in libssh/socket.c
[func]       entering function packet_read2 line 71 in libssh/packet.c
[func]        entering function ssh_socket_wait_for_data line 384 in libssh/socket.c

Backtrace after killing client (from ltcSSH.exe.stackdump, merging with output from nm)

(two functions in Windows DLL)
0041caab t _ssh_socket_unbuffered_read    HANG-2
0041cc39 T _ssh_socket_completeread       HANG-3
0041d0af T _ssh_socket_wait_for_data      HANG-4
0041e754 t _packet_read2                  HANG-5
0041ee2b T _packet_read                   HANG-6
00411255 T _ssh_handle_packets            HANG-7
0040ffd9 T _channel_poll                  HANG-8
(following in client or in Windows)
00401be8 T _readSsh                       HANG-9
004051c7 T _WndProc@16                    HANG-10
..

Doesn't quite match the last few lines of the traces, I guess not
all functions are traced?

Cheers,
Pierre

P.S. I rediscovered the virtues of setvbuf() :-)!


Follow-Ups:
Re: Hangs on password queries once SSH session is upAndreas Schneider <asn@xxxxxxxxxxxx>
References:
Re: Hangs on password queries once SSH session is upPierre Lewis <leware@xxxxxxxxxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org