--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: ssh deadlock when LogLevel is DEBUG3
- From: "Alexandra N. Kossovsky" <sasha@oktetlabs.ru>
- Date: Mon, 28 Feb 2005 13:50:19 +0300
- Message-id: <E1D5iTj-0001si-JR@varda.oktetlabs.ru>
Package: ssh
Version: 1:3.8.1p1-8.sarge.4
Severity: important
If I set LogLevel of sshd to DEBUG3, sometimes I get deadlock of child ssh process.
Here is backtrace (ssh was rebuilt from 3.8.1p1-8.sarge.4 source with debug
information):
#0 0x401a1604 in __pthread_sigsuspend () from /lib/libpthread.so.0
#1 0x401a13c8 in __pthread_wait_for_restart_signal () from /lib/libpthread.so.0
#2 0x401a2d99 in __pthread_alt_lock () from /lib/libpthread.so.0
#3 0x4019fba5 in pthread_mutex_lock () from /lib/libpthread.so.0
#4 0x402befcb in openlog () from /lib/libc.so.6
#5 0x080729c8 in do_log (level=SYSLOG_LEVEL_DEBUG1,
fmt=0x80849bc "Received SIGCHLD.", args=0xbfffe104 "TZ") at ../log.c:331
#6 0x08072600 in debug (fmt=0x80849bc "Received SIGCHLD.") at ../log.c:163
#7 0x08053240 in sigchld_handler (sig=17) at ../serverloop.c:145
#8 0x401a4825 in __pthread_sighandler () from /lib/libpthread.so.0
#9 <signal handler called>
#10 0x402c33f6 in send () from /lib/libc.so.6
#11 0x402beaff in vsyslog () from /lib/libc.so.6
#12 0x402be76f in syslog () from /lib/libc.so.6
#13 0x080729e8 in do_log (level=SYSLOG_LEVEL_DEBUG2,
fmt=0x808ef44 "channel %d: output %s -> %s", args=0xbfffeef4 "") at ../log.c:332
#14 0x08072628 in debug2 (fmt=0x808ef44 "channel %d: output %s -> %s") at ../log.c:173
#15 0x08073281 in chan_set_ostate (c=0x809b3e0, next=3) at ../nchan.c:95
#16 0x0807362e in chan_obuf_empty (c=0x809b3e0) at ../nchan.c:221
#17 0x08073a92 in chan_rcvd_ieof (c=0x809b3e0) at ../nchan.c:372
#18 0x0806e726 in channel_input_ieof (type=96, seq=10, ctxt=0x812c690)
at ../channels.c:1914
#19 0x0807b3a0 in dispatch_run (mode=1, done=0x0, ctxt=0x812c690) at ../dispatch.c:93
#20 0x08053bc4 in process_buffered_input_packets () at ../serverloop.c:475
#21 0x0805436e in server_loop2 (authctxt=0x809ab10) at ../serverloop.c:759
#22 0x0805b875 in do_authenticated2 (authctxt=0x809ab10) at ../session.c:2212
#23 0x08057fd1 in do_authenticated (authctxt=0x809ab10) at ../session.c:226
#24 0x0804ef64 in main (ac=1, av=0x8098750) at ../sshd.c:1513
I've found following remark that I think is related to my problem:
http://rpmfind.net/linux/RPM/suse/updates/9.1/i386/rpm/i586/openssh-3.8p1-37.17.i586.html
* Mon Jun 28 2004 - meissner@suse.de
- block sigalarm during syslog output or we might deadlock
on recursively entering syslog(). (LTC#9523, SUSE#42354)
Regards,
Alexandra.
-- System Information:
Debian Release: 3.1
APT prefers testing
APT policy: (999, 'testing'), (50, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.4.27-2-686-smp
Locale: LANG=C, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Versions of packages ssh depends on:
ii adduser 3.59 Add and remove users and groups
ii debconf 1.4.30.11 Debian configuration management sy
ii dpkg 1.10.26 Package maintenance system for Deb
ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an
ii libpam-modules 0.76-22 Pluggable Authentication Modules f
ii libpam-runtime 0.76-22 Runtime support for the PAM librar
ii libpam0g 0.76-22 Pluggable Authentication Modules l
ii libssl0.9.7 0.9.7e-2 SSL shared libraries
ii libwrap0 7.6.dbs-6 Wietse Venema's TCP wrappers libra
ii zlib1g 1:1.2.2-3 compression library - runtime
-- debconf information excluded
--- End Message ---
--- Begin Message ---
- To: 297264-done@bugs.debian.org
- Subject: Re: Bug#297264: ssh deadlock when LogLevel is DEBUG3
- From: Colin Watson <cjwatson@debian.org>
- Date: Wed, 13 Jun 2007 11:27:35 +0100
- Message-id: <20070613102734.GT4163@riva.ucam.org>
- In-reply-to: <E1D5iTj-0001si-JR@varda.oktetlabs.ru>
- References: <E1D5iTj-0001si-JR@varda.oktetlabs.ru>
Source: openssh
Source-Version: 1:4.6p1-1
On Mon, Feb 28, 2005 at 01:50:19PM +0300, Alexandra N. Kossovsky wrote:
> Package: ssh
> Version: 1:3.8.1p1-8.sarge.4
> Severity: important
>
>
> If I set LogLevel of sshd to DEBUG3, sometimes I get deadlock of child ssh process.
> Here is backtrace (ssh was rebuilt from 3.8.1p1-8.sarge.4 source with debug
> information):
>
> #0 0x401a1604 in __pthread_sigsuspend () from /lib/libpthread.so.0
> #1 0x401a13c8 in __pthread_wait_for_restart_signal () from /lib/libpthread.so.0
> #2 0x401a2d99 in __pthread_alt_lock () from /lib/libpthread.so.0
> #3 0x4019fba5 in pthread_mutex_lock () from /lib/libpthread.so.0
> #4 0x402befcb in openlog () from /lib/libc.so.6
> #5 0x080729c8 in do_log (level=SYSLOG_LEVEL_DEBUG1,
> fmt=0x80849bc "Received SIGCHLD.", args=0xbfffe104 "TZ") at ../log.c:331
> #6 0x08072600 in debug (fmt=0x80849bc "Received SIGCHLD.") at ../log.c:163
> #7 0x08053240 in sigchld_handler (sig=17) at ../serverloop.c:145
This was fixed in OpenSSH 4.4. The upstream changelog entry was:
- djm@cvs.openbsd.org 2006/03/04 04:12:58
[serverloop.c]
move a debug() outside of a signal handler; ok markus@ a little while back
Thanks,
--
Colin Watson [cjwatson@debian.org]
--- End Message ---