Bug 114671

Summary: sshd glibct error - sshd keygen crash
Product: [openSUSE] SUSE LINUX 10.0 Reporter: christian horny <novell>
Component: OtherAssignee: Peter Poeml <poeml>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P5 - None CC: aleph, christoph.t.schmidt, forgotten_mbQyAD5r4K, menno, opensuse, postadal, ro, security-team, thomas
Version: Final   
Target Milestone: ---   
Hardware: i586   
OS: SuSE Linux 10.0   
Whiteboard:
Found By: Beta-Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 145424    
Attachments: strace keygen rsa1 output
strace for keygen dsa output
bt output of ssh-keygen
gdb bt output for ssh-keygen
gdb bt output for sshd -d

Description christian horny 2005-09-01 10:37:00 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
Comment 1 Petr Ostadal 2005-09-06 09:06:16 UTC
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?
Comment 2 christian horny 2005-09-07 11:44:59 UTC
(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                                               
      
#                                                                              
                                       
Comment 3 Petr Ostadal 2005-09-07 16:09:55 UTC
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.
Comment 4 christian horny 2005-09-07 20:32:40 UTC
(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 +++

Comment 5 Petr Ostadal 2005-09-08 07:59:21 UTC
It is unavailable, go to bottom of this page and find group attachments and
click on "Create a New Attachment (proposed patch, testcase, etc.)".
Comment 6 Petr Ostadal 2005-09-08 09:45:46 UTC
And please use command "strace -s 300 -f -o /tmp/output1 ssh-keygen -t rsa1 -b
1024 -f /etc/ssh/ssh_host_key -N '' "
Comment 7 christian horny 2005-09-08 10:59:56 UTC
(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.
Comment 8 christian horny 2005-09-08 11:03:37 UTC
Created attachment 49179 [details]
strace keygen rsa1 output
Comment 9 christian horny 2005-09-08 11:04:39 UTC
Created attachment 49181 [details]
strace for keygen dsa output
Comment 10 Petr Ostadal 2005-09-09 15:25:13 UTC
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.
Comment 11 christian horny 2005-09-10 10:40:39 UTC
(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.

Comment 12 christian horny 2005-09-10 10:43:16 UTC
Created attachment 49510 [details]
bt output of ssh-keygen
Comment 13 Petr Ostadal 2005-09-12 10:01:35 UTC
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.
Comment 14 Petr Ostadal 2005-09-21 10:01:00 UTC
no response, close bug
Comment 15 Stefano Fedrigo 2005-12-15 21:14:34 UTC
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
Comment 16 Christoph Schmidt 2005-12-15 22:54:32 UTC
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

Comment 17 Petr Ostadal 2005-12-16 09:40:00 UTC
Peter could you look at it? Perhaps the problem is in openssl.
Comment 18 Stefano Fedrigo 2005-12-16 13:31:15 UTC
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?
Comment 19 Stefano Fedrigo 2005-12-16 13:34:25 UTC
Created attachment 61078 [details]
gdb bt output for ssh-keygen
Comment 20 Stefano Fedrigo 2005-12-16 13:34:48 UTC
Created attachment 61079 [details]
gdb bt output for sshd -d
Comment 21 Menno Z 2005-12-22 20:26:38 UTC
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?
Comment 22 Menno Z 2005-12-22 23:34:03 UTC
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?
Comment 23 Ruediger Oertel 2005-12-23 00:08:26 UTC
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.
Comment 24 Menno Z 2005-12-23 09:39:40 UTC
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?
Comment 25 Ruediger Oertel 2005-12-23 11:25:25 UTC
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.
Comment 26 Menno Z 2005-12-23 12:32:19 UTC
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.
Comment 27 Thomas Biege 2006-02-10 12:31:44 UTC
*** Bug 149926 has been marked as a duplicate of this bug. ***
Comment 28 Thomas Biege 2006-02-10 13:20:30 UTC
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.
Comment 29 Nigel Hathaway 2006-02-13 09:55:16 UTC
*** Bug 145424 has been marked as a duplicate of this bug. ***
Comment 30 Nigel Hathaway 2006-02-13 10:20:56 UTC
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
Comment 31 Forgotten User mbQyAD5r4K 2006-02-14 10:22:22 UTC
Yes, *he* did ;-)

Some relevant discussion is in the bug 141526
Comment 32 Peter Poeml 2006-02-22 18:22:47 UTC
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.
Comment 33 christian horny 2006-02-22 21:58:29 UTC
(In reply to comment #32)
upgraded sshd from link above and - IT WORKS on my VIA-hardware.
Thanks.
Comment 34 Ruediger Oertel 2006-02-23 00:05:57 UTC
great news! positive result from my tester as well.
Comment 35 Forgotten User mbQyAD5r4K 2006-02-23 00:51:08 UTC
Looks good on my SMP VIA box as well. At least ssh-keygen, ssh and sshd haven't crashed as yet.
Comment 36 Peter Poeml 2006-02-23 04:02:48 UTC
Nice. 

Thank you very much for the feedback.
Comment 37 Peter Poeml 2006-02-23 16:17:56 UTC

*** This bug has been marked as a duplicate of 141526 ***