Subject: Re: openssh core dumps on Solaris 7
To: None <fredb@immanent.net>
From: Takahiro Kambe <taca@back-street.net>
List: tech-pkg
Date: 10/10/2003 00:16:03
In message <Pine.NEB.4.58.0310090822270.11890@rapture.immanent.net>
on Thu, 9 Oct 2003 08:31:14 -0500 (CDT),
Frederick Bruckman <fredb@immanent.net> wrote:
> Just an idea - perhaps the RPATH is set wrongly, so it's picking up
> the wrong -lssl? If you run "ldd" over the good executable and the bad
> one, is there any difference?
There was no problem with older pkgsrc version of openssh.
% uname -mvr
5.8 Generic_108528-22 sun4u
% ssh -V
OpenSSH_3.7.1p1, SSH protocols 1.5/2.0, OpenSSL 0.9.6g 9 Aug 2002
% ldd /usr/pkg/bin/ssh (
librt.so.1 => /usr/lib/librt.so.1
libz.so.0 => /usr/pkg/lib/libz.so.0
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libcrypto.so.300.0 => /usr/pkg/lib/libcrypto.so.300.0
libc.so.1 => /usr/lib/libc.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
% cd /usr/pkgsrc/security/openssh
% make
...
% ldd work/openssh-3.7.1p2/ssh
librt.so.1 => /usr/lib/librt.so.1
libz.so.0 => /usr/pkg/lib/libz.so.0
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libc.so.1 => /usr/lib/libc.so.1
libcrypto.so.300.0 => /usr/pkg/lib/libcrypto.so.300.0
libaio.so.1 => /usr/lib/libaio.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
% ./work/openssh-3.7.1p2/ssh
zsh: 14624 segmentation fault ./work/openssh-3.7.1p2/ssh
% truss ./work/openssh-3.7.1p2/ssh
...
stat("/usr/lib/libmp.so.2", 0xFFBEF464) = 0
open("/usr/lib/libmp.so.2", O_RDONLY) = 3
fstat(3, 0xFFBEF464) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF2E0000
mmap(0x00000000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF2C0000
mmap(0xFF2D4000, 865, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 16384) = 0xFF2D4000
munmap(0xFF2C4000, 65536) = 0
memcntl(0xFF2C0000, 3124, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1", 0xFFBEF274) = 0
open("/usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1", O_RDONLY) = 3
fstat(3, 0xFFBEF274) = 0
mmap(0xFF2E0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF2E0000
mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF1F0000
close(3) = 0
mprotect(0xFF000000, 870140, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0xFF000000, 870140, PROT_READ|PROT_EXEC) = 0
munmap(0xFF2E0000, 8192) = 0
sysconfig(_CONFIG_SEM_VALUE_MAX) = 2147483647
Incurred fault #6, FLTBOUNDS %pc = 0x00016CD4
siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
Received signal #11, SIGSEGV [default]
siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
*** process killed ***
--
Takahiro Kambe <taca@back-street.net>