From: [EMAIL PROTECTED] Operating system: Linux 2.2.14 PHP version: 4.0.5 PHP Bug Type: LDAP related Bug description: PHP 4.0.5 linked against openldap 2.x segfaults on Apache startup My configure string: ./configure --prefix=/software/php-4 --with-apxs=/software/apache-1.3/bin/apxs --with-gdbm --with-ldap=/software/openldap-2 --with-pgsql=/software/postgresql-7 --with-config-file-path=/software/php-4/lib Using OpenLDAP 2.0.7 and PostgreSQL 7.1 on a SuSE 6.4 box. # ldd libphp4.so libpam.so.0 => /lib/libpam.so.0 (0x40144000) libdl.so.2 => /lib/libdl.so.2 (0x4014c000) libpq.so.2 => /software/postgresql-7/lib/libpq.so.2 (0x40150000) libldap.so.2 => /software/openldap-2/lib/libldap.so.2 (0x4015f000) liblber.so.2 => /software/openldap-2/lib/liblber.so.2 (0x40249000) libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x40256000) libresolv.so.2 => /lib/libresolv.so.2 (0x4025e000) libm.so.6 => /lib/libm.so.6 (0x4026d000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x4028a000) libnsl.so.1 => /lib/libnsl.so.1 (0x402b7000) libc.so.6 => /lib/libc.so.6 (0x402ce000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000) Here is an strace of an Apache child that died. I'm using NSS_LDAP and PAM_LDAP. open("/lib/libpthread.so.0", O_RDONLY) = 4 fstat(4, {st_mode=S_IFREG|0755, st_size=289663, ...}) = 0 read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200?\0"..., 4096) = 4096 mmap(NULL, 75832, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x405aa000 mprotect(0x405b5000, 30776, PROT_NONE) = 0 mmap(0x405b5000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0xa000) = 0x405b5000 close(4) = 0 mprotect(0x40592000, 90112, PROT_READ|PROT_WRITE) = 0 mprotect(0x40592000, 90112, PROT_READ|PROT_EXEC) = 0 getpid() = 15900 getrlimit(RLIMIT_STACK, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0 setrlimit(RLIMIT_STACK, {rlim_cur=2040*1024, rlim_max=RLIM_INFINITY}) = 0 uname({sys="Linux", node="oradev", ...}) = 0 rt_sigaction(SIGRT_0, {0x405b1c60, [], 0x4000000}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x405b1d00, [], 0x4000000}, NULL, 8) = 0 rt_sigaction(SIGRT_2, {0x405b1e20, [], 0x4000000}, NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [RT_0], NULL, 8) = 0 munmap(0x402c8000, 28943) = 0 geteuid() = 0 getpid() = 15900 open("/etc/ldap.conf", O_RDONLY) = 4 fstat(4, {st_mode=S_IFREG|0644, st_size=213, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000 read(4, "# $Id$\n\nhost 192.168.0.1\nbase o="..., 4096) = 213 read(4, "", 4096) = 0 close(4) = 0 munmap(0x40015000, 4096) = 0 uname({sys="Linux", node="oradev", ...}) = 0 open("/etc/hosts", O_RDONLY) = 4 fcntl(4, F_GETFD) = 0 fcntl(4, F_SETFD, FD_CLOEXEC) = 0 fstat(4, {st_mode=S_IFREG|0644, st_size=708, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000 read(4, "#\n# hosts This file desc"..., 4096) = 708 close(4) = 0 munmap(0x40015000, 4096) = 0 getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0 open("/software/openldap-2/etc/openldap/ldap.conf", O_RDONLY) = 4 fstat(4, {st_mode=S_IFREG|0644, st_size=337, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000 read(4, "# $OpenLDAP: pkg/ldap/libraries/"..., 4096) = 337 read(4, "", 4096) = 0 close(4) = 0 munmap(0x40015000, 4096) = 0 open("/root/ldaprc", O_RDONLY) = -1 ENOENT (No such file or directory) open("/root/.ldaprc", O_RDONLY) = -1 ENOENT (No such file or directory) open("ldaprc", O_RDONLY) = -1 ENOENT (No such file or directory) uname({sys="Linux", node="oradev", ...}) = 0 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 4 ioctl(4, FIONBIO, [1]) = 0 connect(4, {sin_family=AF_INET, sin_port=htons(389), sin_addr=inet_addr("192.168.0.1")}}, 16) = -1 EINPROGRESS (Operation now in progress) select(1024, NULL, [4], NULL, NULL) = 1 (out [4]) getpeername(4, {sin_family=AF_INET, sin_port=htons(389), sin_addr=inet_addr("192.168.0.1")}}, [16]) = 0 ioctl(4, FIONBIO, [0]) = 0 brk(0x811e000) = 0x811e000 time(NULL) = 988912101 write(4, "0\f\2\1\1`\7\2\1\2\4\0\200\0", 14) = 14 select(1024, [4], [], NULL, NULL) = 1 (in [4]) read(4, "0\f\2\1\1a\7\n\1\0\4\0\4\0", 16384) = 14 time(NULL) = 988912101 geteuid() = 0 getpid() = 15900 rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0 getpeername(135365352, 0xbfffef1c, [1025]) = -1 EBADF (Bad file descriptor) write(4, "0\5\2\1\2B\0", 7) = 7 --- SIGSEGV (Segmentation fault) --- chdir("/software/apache-1.3") = 0 rt_sigaction(SIGSEGV, {SIG_DFL}, {SIG_DFL}, 8) = 0 getpid() = 15900 kill(15900, SIGSEGV) = 0 sigreturn() = ? (mask now []) --- SIGSEGV (Segmentation fault) --- -- Edit Bug report at: http://bugs.php.net/?id=10643&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]