Every once in a while, my terminal session with an OpenSSH server (any
version, up to and including 2.9p2) will hang indefinitely upon logout, rather
than returning to the shell on my UNIX client machine (or closing the window,
if in a M$ environment). Unfortunately, I can't reproduce the problem, but
it
does occur frequently enough to be annoying. When it does happen, this is what
I see on the server system (by logging in from a different terminal and
tracking down the hung-out-to-dry process):
# pstack 3296
3296: /usr/local/sbin/sshd -f /etc/sshd_config
ef5b7488 poll (efffd160, 2, 64)
ef5cd064 select (efffd170, ef6266cc, 11e8d0, ef6266d0, 11e8d4, 11) + 280
00034560 wait_until_can_do_something (effff24c, effff248, effff244, 64, 4, 1)
+ 2b8
00034d74 server_loop (fb000, 0, 104000, fb000, 104000, effff240) + 20c
00036c7c do_exec_pty (10bbcc, 11, 36634, fb400, 8a, 0) + 260
00036704 do_authenticated1 (0, 36400, fac00, 106800, ef623700, 36014) + 60c
00036074 do_authenticated (110fa8, efffefbc, d0710, 400, efffefc8, 0) + 80
0002d720 do_authentication (effff418, 3, fac00, cfc00, fb000, 10e400) + 174
0002c17c main (1eb4, f, 1, fac00, 1eb4, 10c498) + 1418
0002a27c _start (0, 0, 0, 0, 0, 0) + 5c
# truss -p 3296
poll(0xEFFFD160, 2, 100) = 0
poll(0xEFFFD160, 2, 100) = 0
poll(0xEFFFD160, 2, 100) = 0
poll(0xEFFFD160, 2, 100) = 0
poll(0xEFFFD160, 2, 100) = 0
poll(0xEFFFD160, 2, 100) = 0
poll(0xEFFFD160, 2, 100) = 0
poll(0xEFFFD160, 2, 100) = 0
poll(0xEFFFD160, 2, 100) = 0
Has anyone else seen this issue? It's mostly a nuisance, but I am
struggling
to figure out exactly what causes it. I've been able to "gcore"
the running
process, and a gdb "bt" basically shows the same thing as pstack
above. Sadly,
this is the extent of what I know to do in gdb :-)
Thanks in advance.
RudeYak at yahoo.com
__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/