hello, I have just installed openssh 4.2p1 and it seems that sshd child process crash if /var/empty/usr/lib do not exist. Here is a strace log ( before creating this directory): 26787 open("/etc/protocols", O_RDONLY) = -1 ENOENT (No such file or directory) 26787 getsockopt(3, SOL_IP, IP_OPTIONS, "", [0]) = 0 26787 socket(PF_UNIX, SOCK_STREAM, 0) = 6 26787 connect(6, {sa_family=AF_UNIX, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory) 26787 close(6) = 0 26787 gettimeofday({1129033086, 170608}, NULL) = 0 26787 open("/etc/resolv.conf", O_RDONLY) = -1 ENOENT (No such file or directory) 26787 uname({sys="Linux", node="edge", ...}) = 0 26787 open("/etc/host.conf", O_RDONLY) = -1 ENOENT (No such file or directory) 26787 open("/etc/hosts", O_RDONLY) = -1 ENOENT (No such file or directory) 26787 open("/etc/ld.so.cache", O_RDONLY) = -1 ENOENT (No such file or directory) 26787 open("/lib/tls/i686/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) 26787 stat64("/lib/tls/i686", 0xbfe596bc) = -1 ENOENT (No such file or directory) 26787 open("/lib/tls/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) 26787 stat64("/lib/tls", 0xbfe596bc) = -1 ENOENT (No such file or directory) 26787 open("/lib/i686/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) 26787 stat64("/lib/i686", 0xbfe596bc) = -1 ENOENT (No such file or directory) 26787 open("/lib/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) 26787 stat64("/lib", 0xbfe596bc) = -1 ENOENT (No such file or directory) 26787 open("/usr/lib/tls/i686/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) 26787 stat64("/usr/lib/tls/i686", 0xbfe596bc) = -1 ENOENT (No such file or directory) 26787 open("/usr/lib/tls/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) 26787 stat64("/usr/lib/tls", 0xbfe596bc) = -1 ENOENT (No such file or directory) 26787 open("/usr/lib/i686/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) 26787 stat64("/usr/lib/i686", 0xbfe596bc) = -1 ENOENT (No such file or directory) 26787 open("/usr/lib/libnss_dns.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) 26787 stat64("/usr/lib", 0xbfe596bc) = -1 ENOENT (No such file or directory) 26787 --- SIGSEGV (Segmentation fault) @ 0 (0) --- 26784 <... read resumed> 0xbfe5b1b8, 4) = ? ERESTARTSYS (To be restarted) 26784 --- SIGCHLD (Child exited) @ 0 (0) --- 26784 read(6, "", 4) = 0 26784 exit_group(255) = ? 1682 <... select resumed> ) = 1 (in [5]) 1682 --- SIGCHLD (Child exited) @ 0 (0) --- 1682 waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 255}], WNOHANG) = 26784 1682 waitpid(-1, 0xbf9c9ea0, WNOHANG) = 0 1682 rt_sigaction(SIGCHLD, NULL, {0x804c7d4, [], 0}, 8) = 0 1682 sigreturn() = ? (mask now []) 1682 close(5) = 0 1682 select(6, [3], NULL, NULL, NULL <unfinished ...>
Catalin Toda wrote:> I have just installed openssh 4.2p1On what platform?> and it seems that sshd child process > crash if /var/empty/usr/lib do not exist. Here is a strace log ( > before creating this directory):If it's Linux/glibc then that's probably a known bug in glibc. See this post and the thread leading up to it: http://marc.theaimsgroup.com/?l=openssh-unix-dev&m=111061843820265 -- Darren Tucker (dtucker at zip.com.au) GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69 Good judgement comes with experience. Unfortunately, the experience usually comes from bad judgement.
I meant to say that it is a bug and not related to glibc sorry for misunderstanding On Tue, 11 Oct 2005, Gert Doeringy wrote:> Date: Tue, 11 Oct 2005 16:22:23 +0200 > From: Gert Doering <gert at greenie.muc.de> > To: Catalin Toda <cata at shivanet.ro> > Cc: Darren Tucker <dtucker at zip.com.au>, openssh-unix-dev at mindrot.org > Subject: Re: openssh 4.2p1 bug > > Hi > > On Tue, Oct 11, 2005 at 04:16:21PM +0300, Catalin Toda wrote: > > I do not think it is a bug, because after creating those directory > > (/var/empty/usr/lib) it worked. > > If applications crash due to nonexistance of a completely uninteresting > directory - what do you call it, if not a bug? > > gert >
Yes I read it , but I have in fact two systems both with fc2, and one of them have this issue, one not as you can see first system without any problem: [root at oil root]# rpm -qa | grep glibc glibc-headers-2.3.3-27.1 glibc-kernheaders-2.4-8.44 glibc-common-2.3.3-27.1 glibc-devel-2.3.3-27.1 Linux oil 2.6.10-1.770_FC2 #1 Sat Feb 26 19:23:30 EST 2005 i586 i586 i386 GNU/Linux and second with problem descibed in previous emails: [root at edge bin]# rpm -qa | grep glibc glibc-2.3.3-27.1 glibc-headers-2.3.3-27.1 glibc-kernheaders-2.4-8.44 glibc-common-2.3.3-27.1 glibc-devel-2.3.3-27.1
cata at john.ve.carpathiahost.net wrote:> Yes I read it , but I have in fact two systems both with fc2, and one of them > have this issue, one not[...]> maybe a kernel issue, > afaik glibc has only wrapper function for kernel calls...The description I got from the engineers was that the crash occurs when glibc attempts to write to a segment mapped readonly. Maybe the map-readonly feature is only enabled for certain kernels, but I don't know. Did you try the 10-line testcase program in the URL? What was the result? -- Darren Tucker (dtucker at zip.com.au) GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69 Good judgement comes with experience. Unfortunately, the experience usually comes from bad judgement.
I have already fixed it, I have reported this in order to bring more information ... thank you for your time Darren Tucker wrote:> Catalin Toda wrote: >>> Did you try the 10-line testcase program in the URL? What was the >>> result? >> one one machine it worked on one did not.... > > Well, there you go: the system where it crashed is broken, and the > brokenness has nothing to do with OpenSSH. Fix it and OpenSSH will > probably work fine. >