Bugzilla – Bug 114671
sshd glibct error - sshd keygen crash
Last modified: 2006-02-23 16:17:56 UTC
unable to start sshd # rcsshd start Generating /etc/ssh/ssh_host_key. Generating public/private rsa1 key pair. *** glibc detected *** free(): invalid next size (fast): 0x80022018 *** /usr/sbin/rcsshd: line 44: 680 Abgebrochen ssh-keygen -t rsa1 -b 1024 -f /etc/ssh/ssh_host_key -N '' Generating /etc/ssh/ssh_host_dsa_key. Generating public/private dsa key pair. *** glibc detected *** double free or corruption (!prev): 0x800221a0 *** /usr/sbin/rcsshd: line 44: 681 Abgebrochen ssh-keygen -t dsa -b 1024 -f /etc/ssh/ssh_host_dsa_key -N '' Generating /etc/ssh/ssh_host_rsa_key. Generating public/private rsa key pair. /usr/sbin/rcsshd: line 44: 682 Speicherzugriffsfehler ssh-keygen -t rsa -b 1024 -f /etc/ssh/ssh_host_rsa_key -N '' Starting SSH daemonCould not load host key: /etc/ssh/ssh_host_key Could not load host key: /etc/ssh/ssh_host_rsa_key Could not load host key: /etc/ssh/ssh_host_dsa_key Disabling protocol version 1. Could not load host key Disabling protocol version 2. Could not load host key sshd: no hostkeys available -- exiting. startproc: exit status of parent of /usr/sbin/sshd: 1 failed # with existing keys sshd has the same glibc error msg. #> rpm -q openssh glibc openssh-4.1p1-8 glibc-2.3.5-37
I can't reproduce it. Could you try it with beta4+PLUS ? Please change language to en, otherwise I don't undestand the german messages of your log. Did you have default configuration of your sshd?
(In reply to comment #1) > I can't reproduce it. Could you try it with beta4+PLUS ? Please change language > to en, otherwise I don't undestand the german messages of your log. Did you have > default configuration of your sshd? ok, output set to [en] I'm using Beta4 sshd now up, but generating key is not possible. # uname -a Linux frosch 2.6.13-3-default #1 Mon Aug 29 19:48:23 UTC 2005 i686 i686 i386 GNU/Linux # rpm -q openssh glibc openssh-4.1p1-8 glibc-2.3.5-38 # rcsshd restart Shutting down SSH daemon done Generating /etc/ssh/ssh_host_key. Generating public/private rsa1 key pair. *** glibc detected *** malloc(): memory corruption: 0x80022330 *** /usr/sbin/rcsshd: line 44: 11443 Aborted ssh-keygen -t rsa1 -b 1024 -f /etc/ssh/ssh_host_key -N '' Generating /etc/ssh/ssh_host_dsa_key. Generating public/private dsa key pair. *** glibc detected *** free(): invalid next size (fast): 0x80021ff8 *** /usr/sbin/rcsshd: line 44: 11444 Aborted ssh-keygen -t dsa -b 1024 -f /etc/ssh/ssh_host_dsa_key -N '' Starting SSH daemonCould not load host key: /etc/ssh/ssh_host_key Could not load host key: /etc/ssh/ssh_host_dsa_key Disabling protocol version 1. Could not load host key done #
run please following command and attach me the output strace -f -o /tmp/output1 ssh-keygen -t rsa1 -b 1024 -f /etc/ssh/ssh_host_key -N '' I prepare for you openssh-debuginfo package, the one in distribution is corrupted and then we try gdb.
(In reply to comment #3) Didn't find a way to attach the following output: 13755 execve("/usr/bin/ssh-keygen", ["ssh-keygen", "-t", "rsa1", "-b", "1024", "-f", "/etc/ssh/ssh_host_key", "-N", ""], [/* 48 vars */]) = 0 13755 uname({sys="Linux", node="frosch", ...}) = 0 13755 brk(0) = 0x8001c000 13755 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40017000 13755 close(3) = 0 13755 open("/usr/lib/libopensc.so.1", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0m\0\000"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=357812, ...}) = 0 13755 old_mmap(NULL, 362244, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4001d000 13755 madvise(0x4001d000, 362244, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x4006f000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x51000) = 0x4006f000 13755 old_mmap(0x40075000, 1796, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40075000 13755 close(3) = 0 13755 open("/lib/libresolv.so.2", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340%\0"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=74603, ...}) = 0 13755 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40076000 13755 old_mmap(NULL, 75956, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40077000 13755 madvise(0x40077000, 75956, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x40086000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe000) = 0x40086000 13755 old_mmap(0x40088000, 6324, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40088000 13755 close(3) = 0 13755 open("/usr/lib/libcrypto.so.0.9.7", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\313"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0555, st_size=1028116, ...}) = 0 13755 old_mmap(NULL, 1022372, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4008a000 13755 madvise(0x4008a000, 1022372, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x4016e000, 73728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe3000) = 0x4016e000 13755 old_mmap(0x40180000, 14756, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40180000 13755 mprotect(0xbf855000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSDOWN) = 0 13755 close(3) = 0 13755 open("/lib/libutil.so.1", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\f\0"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=13029, ...}) = 0 13755 old_mmap(NULL, 12432, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40184000 13755 madvise(0x40184000, 12432, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x40186000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x40186000 13755 close(3) = 0 13755 open("/lib/libz.so.1", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\27\0"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=73712, ...}) = 0 13755 old_mmap(NULL, 75692, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40188000 13755 madvise(0x40188000, 75692, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x4019a000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x4019a000 13755 close(3) = 0 13755 open("/lib/libnsl.so.1", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\3405\0"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=94166, ...}) = 0 13755 old_mmap(NULL, 88064, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4019b000 13755 madvise(0x4019b000, 88064, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x401ad000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x401ad000 13755 old_mmap(0x401af000, 6144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401af000 13755 close(3) = 0 13755 open("/lib/libcrypt.so.1", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\t\0\000"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=47724, ...}) = 0 13755 old_mmap(NULL, 205564, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x401b1000 13755 madvise(0x401b1000, 205564, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x401ba000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x401ba000 13755 old_mmap(0x401bd000, 156412, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x401bd000 13755 close(3) = 0 13755 open("/usr/lib/libgssapi_krb5.so.2", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0A\0\000"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=93392, ...}) = 0 13755 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x401e4000 13755 old_mmap(NULL, 92844, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x401e5000 13755 madvise(0x401e5000, 92844, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x401fb000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x401fb000 13755 close(3) = 0 13755 open("/usr/lib/libkrb5.so.3", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\366\0"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=451016, ...}) = 0 13755 old_mmap(NULL, 444272, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x401fc000 13755 madvise(0x401fc000, 444272, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x40266000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x69000) = 0x40266000 13755 close(3) = 0 13755 open("/usr/lib/libk5crypto.so.3", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P5\0\000"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=147604, ...}) = 0 13755 old_mmap(NULL, 142816, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40269000 13755 madvise(0x40269000, 142816, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x4028b000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x4028b000 13755 close(3) = 0 13755 open("/lib/libcom_err.so.2", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\n\0\000"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=6536, ...}) = 0 13755 old_mmap(NULL, 8976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4028c000 13755 madvise(0x4028c000, 8976, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x4028e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x4028e000 13755 close(3) = 0 13755 open("/lib/tls/libc.so.6", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`O\1\000"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=1417102, ...}) = 0 13755 old_mmap(NULL, 1174492, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4028f000 13755 madvise(0x4028f000, 1174492, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x403a8000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x119000) = 0x403a8000 13755 old_mmap(0x403ac000, 7132, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x403ac000 13755 close(3) = 0 13755 open("/usr/lib/libscconf.so.1", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\22\0\000"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=18700, ...}) = 0 13755 old_mmap(NULL, 21696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x403ae000 13755 madvise(0x403ae000, 21696, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x403b3000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x403b3000 13755 close(3) = 0 13755 open("/lib/libdl.so.2", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\f\0\000"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=13830, ...}) = 0 13755 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x403b4000 13755 old_mmap(NULL, 12404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x403b5000 13755 madvise(0x403b5000, 12404, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x403b7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x403b7000 13755 close(3) = 0 13755 open("/usr/lib/libopenct.so.1", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320 \0"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=27172, ...}) = 0 13755 old_mmap(NULL, 26604, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x403b9000 13755 madvise(0x403b9000, 26604, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x403bf000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x403bf000 13755 close(3) = 0 13755 open("/usr/lib/libpcsclite.so.1", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260%\0"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0555, st_size=35440, ...}) = 0 13755 old_mmap(NULL, 36544, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x403c0000 13755 madvise(0x403c0000, 36544, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x403c8000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x403c8000 13755 close(3) = 0 13755 open("/lib/tls/libpthread.so.0", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0PH\0\000"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=93266, ...}) = 0 13755 old_mmap(NULL, 70104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x403c9000 13755 madvise(0x403c9000, 70104, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x403d7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd000) = 0x403d7000 13755 old_mmap(0x403d9000, 4568, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x403d9000 13755 close(3) = 0 13755 open("/usr/lib/libkrb5support.so.0", O_RDONLY) = 3 13755 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\t\0"..., 512) = 512 13755 fstat64(3, {st_mode=S_IFREG|0755, st_size=9364, ...}) = 0 13755 old_mmap(NULL, 11900, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x403db000 13755 madvise(0x403db000, 11900, MADV_SEQUENTIAL|0x1) = 0 13755 old_mmap(0x403dd000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x403dd000 13755 close(3) = 0 13755 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x403de000 13755 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x403df000 13755 mprotect(0x403a8000, 4096, PROT_READ) = 0 13755 set_thread_area({entry_number:-1 -> 6, base_addr:0x403df620, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 13755 munmap(0x40017000, 24113) = 0 13755 set_tid_address(0x403df668) = 13755 13755 rt_sigaction(SIGRTMIN, {0x403cd3c0, [], SA_SIGINFO}, NULL, 8) = 0 13755 rt_sigaction(SIGRT_1, {0x403cd440, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 13755 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 13755 getrlimit(RLIMIT_STACK, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0 13755 _sysctl({{CTL_KERN, KERN_VERSION, 0, 201c9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 2, 0xbf855c70, 31, (nil), 0}) = 0 13755 brk(0) = 0x8001c000 13755 brk(0x8003d000) = 0x8003d000 13755 futex(0x403b8058, FUTEX_WAKE, 2147483647) = 0 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40017000 13755 close(3) = 0 13755 open("/lib/tls/i686/libswift.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 stat64("/lib/tls/i686", 0xbf84ee88) = -1 ENOENT (No such file or directory) 13755 open("/lib/tls/libswift.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 stat64("/lib/tls", {st_mode=S_IFDIR|0755, st_size=392, ...}) = 0 13755 open("/lib/i686/libswift.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 stat64("/lib/i686", {st_mode=S_IFDIR|0755, st_size=248, ...}) = 0 13755 open("/lib/libswift.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 stat64("/lib", {st_mode=S_IFDIR|0755, st_size=3912, ...}) = 0 13755 open("/usr/lib/tls/i686/libswift.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 stat64("/usr/lib/tls/i686", 0xbf84ee88) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/libswift.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 stat64("/usr/lib/tls", {st_mode=S_IFDIR|0755, st_size=176, ...}) = 0 13755 open("/usr/lib/i686/libswift.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 stat64("/usr/lib/i686", 0xbf84ee88) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/libswift.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 stat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=15896, ...}) = 0 13755 munmap(0x40017000, 24113) = 0 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40017000 13755 close(3) = 0 13755 open("/lib/tls/libnfhwcrhk.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/i686/libnfhwcrhk.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/libnfhwcrhk.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/libnfhwcrhk.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/libnfhwcrhk.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 munmap(0x40017000, 24113) = 0 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40017000 13755 close(3) = 0 13755 open("/lib/tls/libica.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/i686/libica.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/libica.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/libica.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/libica.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 munmap(0x40017000, 24113) = 0 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40017000 13755 close(3) = 0 13755 open("/lib/tls/libSureWareHook.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/i686/libSureWareHook.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/libSureWareHook.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/libSureWareHook.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/libSureWareHook.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 munmap(0x40017000, 24113) = 0 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40017000 13755 close(3) = 0 13755 open("/lib/tls/libCSUNSAPI.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/i686/libCSUNSAPI.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/libCSUNSAPI.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/libCSUNSAPI.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/libCSUNSAPI.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 munmap(0x40017000, 24113) = 0 13755 getuid32() = 0 13755 socket(PF_FILE, SOCK_STREAM, 0) = 3 13755 fcntl64(3, F_GETFL) = 0x2 (flags O_RDWR) 13755 fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 13755 connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = 0 13755 poll([{fd=3, events=POLLOUT|POLLERR|POLLHUP, revents=POLLOUT}], 1, 5000) = 1 13755 writev(3, [{"\2\0\0\0\v\0\0\0\7\0\0\0", 12}, {"passwd\0", 7}], 2) = 19 13755 poll([{fd=3, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLHUP}], 1, 5000) = 1 13755 recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"passwd\0", 7}], msg_controllen=16, {cmsg_len=16, cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {4}}, msg_flags=0}, MSG_NOSIGNAL) = 7 13755 fstat64(4, {st_mode=S_IFREG|0600, st_size=217016, ...}) = 0 13755 pread64(4, "\1\0\0\0h\0\0\0>\0\0\0\1\0\0\0\223y\35C\0\0\0\0\323\0\0"..., 104, 0) = 104 13755 mmap2(NULL, 217016, PROT_READ, MAP_SHARED, 4, 0) = 0x403e0000 13755 close(4) = 0 13755 close(3) = 0 13755 uname({sys="Linux", node="frosch", ...}) = 0 13755 fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(4, 5), ...}) = 0 13755 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 13755 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000 13755 write(1, "Generating public/private rsa1 k"..., 41) = 41 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40415000 13755 close(3) = 0 13755 open("/lib/tls/libswift.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/i686/libswift.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/libswift.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/libswift.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/libswift.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 munmap(0x40415000, 24113) = 0 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40415000 13755 close(3) = 0 13755 open("/lib/tls/libnfhwcrhk.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/i686/libnfhwcrhk.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/libnfhwcrhk.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/libnfhwcrhk.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/libnfhwcrhk.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 munmap(0x40415000, 24113) = 0 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40415000 13755 close(3) = 0 13755 open("/lib/tls/libatasi.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/i686/libatasi.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/libatasi.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/libatasi.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/libatasi.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 munmap(0x40415000, 24113) = 0 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40415000 13755 close(3) = 0 13755 open("/lib/tls/nuronssl.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/i686/nuronssl.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/nuronssl.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/nuronssl.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/nuronssl.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 munmap(0x40415000, 24113) = 0 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40415000 13755 close(3) = 0 13755 open("/lib/tls/libubsec.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/i686/libubsec.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/libubsec.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/libubsec.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/libubsec.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 munmap(0x40415000, 24113) = 0 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40415000 13755 close(3) = 0 13755 open("/lib/tls/libaep.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/i686/libaep.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/libaep.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/libaep.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/libaep.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 munmap(0x40415000, 24113) = 0 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40415000 13755 close(3) = 0 13755 open("/lib/tls/libica.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/i686/libica.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/libica.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/libica.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/libica.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 munmap(0x40415000, 24113) = 0 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40415000 13755 close(3) = 0 13755 open("/lib/tls/libSureWareHook.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/i686/libSureWareHook.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/libSureWareHook.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/libSureWareHook.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/libSureWareHook.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 munmap(0x40415000, 24113) = 0 13755 open("/etc/ld.so.cache", O_RDONLY) = 3 13755 fstat64(3, {st_mode=S_IFREG|0644, st_size=24113, ...}) = 0 13755 old_mmap(NULL, 24113, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40415000 13755 close(3) = 0 13755 open("/lib/tls/libCSUNSAPI.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/i686/libCSUNSAPI.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/lib/libCSUNSAPI.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/tls/libCSUNSAPI.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 open("/usr/lib/libCSUNSAPI.so", O_RDONLY) = -1 ENOENT (No such file or directory) 13755 munmap(0x40415000, 24113) = 0 13755 time([1126124435]) = 1126124435 13755 time([1126124435]) = 1126124435 13755 time([1126124435]) = 1126124435 13755 time([1126124435]) = 1126124435 13755 time([1126124435]) = 1126124435 13755 time([1126124435]) = 1126124435 13755 time([1126124435]) = 1126124435 13755 time([1126124435]) = 1126124435 13755 time([1126124435]) = 1126124435 13755 time([1126124435]) = 1126124435 13755 time([1126124435]) = 1126124435 13755 time([1126124435]) = 1126124435 13755 time([1126124435]) = 1126124435 13755 time([1126124435]) = 1126124435 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 time([1126124436]) = 1126124436 13755 --- SIGSEGV (Segmentation fault) @ 0 (0) --- 13755 +++ killed by SIGSEGV +++
It is unavailable, go to bottom of this page and find group attachments and click on "Create a New Attachment (proposed patch, testcase, etc.)".
And please use command "strace -s 300 -f -o /tmp/output1 ssh-keygen -t rsa1 -b 1024 -f /etc/ssh/ssh_host_key -N '' "
(In reply to comment #6) You find the output of rsa1 keygen in the attachement. Executing your strace-command, the keyfile was surprisingly generated. i did the strace with dsa parameter and the keygen aborted. Output is the second attachement. Thanks for your help.
Created attachment 49179 [details] strace keygen rsa1 output
Created attachment 49181 [details] strace for keygen dsa output
Please install following rpms ftp://ftp.suse.com/pub/people/pmladek/bug114671/ with debug information and rud the problematic command with gdb and attach me the backtrace gdb /usr/bin/ssh-keygen > r -t rsa1 -b 1024 -f /etc/ssh/ssh_host_key -N '' > bt the output of bt attach to this bug.
(In reply to comment #10) Sorry to say that openssh-debuginfo is broken and uninstallable. So i moved completely to RC1. Same symptoms. bt in attachement.
Created attachment 49510 [details] bt output of ssh-keygen
to comment #11, what means that openssh-debuginfo is broken? I tested the rpm on ftp and they are ok. Maybe your HW is broken ;(, run memtest on your machine and other stress test.
no response, close bug
I experienced the same problems. sshd crashes when generating the RSA key. My strace output is looking almost identical to the ones posted by Horny. It seems the problem is in libssl, in RSA_generate_key(). The segfault is always when doing time() syscall. The important fact is that the bug is hardware dependent: it manifests only on a VIA EPIA with Eden CPU. The same distro booted on a Athlon XP works perfectly. I checked the arch of installed packages, it'is i586. No i686 packages installed. Versions: openssh-4.1p1-10 openssl-0.9.7g-2 glibc-2.3.5-40 The hardware and the rest of software is working perfectly. Perhaps openssl.i586 is built with some i686 only compilation option? As soon as I can I'll post the backtrace with gdb and debug-built rpms
Hi, i have the same problem - also on via epia hardware. proc/cpuinfo: processor : 0 vendor_id : CentaurHauls cpu family : 6 model : 9 model name : VIA Nehemiah stepping : 8 cpu MHz : 533.337 cache size : 64 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr cx8 sep mtrr pge cmov pat mmx fxsr sse rng rng_en ace ace_en bogomips : 1067.72
Peter could you look at it? Perhaps the problem is in openssl.
My /proc/cpuinfo is identical to the one in Comment #16. I used rpms at ftp://ftp.suse.com/pub/people/pmladek/bug114671/, and rebuilt openssl with debug-info, unfortunately the gdb output is not very informative: perhaps the bug is in another place, the segfault is triggered by a late check in libc. I tried to rebuild ssl removing all -march=i686 and -mtune=i586 and the other "optional" flags (in openssl.spec, I added "386" to config_flags and removed $RPM_OPT_FLAGS). In this way sshd starts correctly 90%.... but on a 10% same problem. ssh-keygen segfaults, but this time with strace or gdb works correctly... what this means is unknown to me. There is some ASM code in SSL, could be that it's not completely i386 generic?
Created attachment 61078 [details] gdb bt output for ssh-keygen
Created attachment 61079 [details] gdb bt output for sshd -d
I just wanted to add a 'me too´ to the list, this is also on a VIA EPIA board with SuSE 10.0 so far i tested debian sarge and etch and they dont have this problem, i havent tried any other distro's yet. are there any workarounds yet?
to answer my own question, you can get it working by recompiling openssl without the padlock patches (patch 101 and 102) ofcourse this is not really a solution, just a workaround for the time being, hopefully this can be fixed in a feature update?
are you sure about padlock ? unfortunately I don't have the epia-box here at the moment (will get it back in two weeks), but last time I recompiled openssl to make this work and only changed the CFLAGS from "-O2 -march=i586 -mtune=i686" to "-O2 -march=i586 -mtune=i586" so I suspected a gcc bug, since these flags should generate code executable on i586 but only optimized for either i586 or i686 respectively. I did not remove the padlock patches but still ended up with a working ssh-keygen.
okay, i just recompiled with those CFLAGS and the padlock patches and i get a segfault 7 out of 8 times running ssh-keygen, so at least there seems to be something wrong in the padlock patches, if i have some more time i'll try and find out where they are located and if there are any updates for them. just to be sure, i'm running (open)SUSE 10.0 on an EPIA M10000 1ghz Nehmiah box, maybe you had a different EPIA?
the padlock patch page is at http://www.logix.cz/michal/devel/padlock/ With openssl 0.9.8a the padlock support has been integrated, but updating a 10.0 with a new version of openssl is probably a major effort. I'm not exactly sure which EPIA that happened on, I suspect a MII-600Mhz.
thanks for the url. i tried building openssl 0.9.8 from SUSE 10.1, it compiled just fine but i cannot install it as allot of software depends on openssl 0.9.7, so i guess thats a no go indeed. for now (because i want to build up my EPIA as a small server before the new year) i'll just recompile openssl without the padlock patches and be done with it. if there is anything else it could try/test let me know.
*** Bug 149926 has been marked as a duplicate of this bug. ***
We got a new report about this. Should we just release an update w/o the padlock patch? I doubt it is really the source of the problem because the patches are much older then SL 10.0 deadline. Maybe it's a gcc error like mentioned before.
*** Bug 145424 has been marked as a duplicate of this bug. ***
Some additional info on VIA padlock is here: http://www.logix.cz/michal/devel/padlock/ (Does/did he work for suse.cz?) Via's info page is here (less helpful): http://www.viaarena.com/default.aspx?PageID=4#1009
Yes, *he* did ;-) Some relevant discussion is in the bug 141526
Folks with VIA hardware, could you please test http://ftp.suse.com/pub/people/poeml/openssl/10.0-i386/openssl-0.9.7g-2.3.20060222.i586.rpm and see whether it fixes the issue? Thanks.
(In reply to comment #32) upgraded sshd from link above and - IT WORKS on my VIA-hardware. Thanks.
great news! positive result from my tester as well.
Looks good on my SMP VIA box as well. At least ssh-keygen, ssh and sshd haven't crashed as yet.
Nice. Thank you very much for the feedback.
*** This bug has been marked as a duplicate of 141526 ***