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>