php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #38137 Apache 2.0.55-Openldap 2.3.24-php 5.1.4 causes apache to segfault
Submitted: 2006-07-19 06:22 UTC Modified: 2006-07-19 07:22 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:0 (0.0%)
From: bill dot macallister at prideindustries dot com Assigned:
Status: Not a bug Package: Reproducible crash
PHP Version: 5.1.4 OS: Debian Sarge with 3.6.8 kernel
Private report: No CVE-ID: None
 [2006-07-19 06:22 UTC] bill dot macallister at prideindustries dot com
Description:
------------
On a Debian Sarge system with a 2.6.8 kernel I am building Apache 2.0.55 with PHP 5.1.4 with LDAP support.  The build seems to complete just fine, but the server will not start.  When I do a 'apache/bin/apachectl configtest' I get a Syntax OK message just before I get the SEGFAULT message.  When I remove the PHP module load directive from the httpd.conf file the SEGFAULT disappears.  I get the same result if I build PHP 4.4.2.  I have finally gotten the server to build by building against OpenLDAP 2.2.27.  It looks like PHP is having some problem with OpenLDAP 2.3.x?

Reproduce code:
---------------
Here is the configuration line that works:

#!/bin/sh

./configure \
    --enable-gd-native-ttf \
    --enable-mbregex \
    --enable-mbstring \
    --enable-ssl \
    --enable-track-vars \
    --with-apxs2=/usr/local/apache-2.0.55/bin/apxs \
    --with-gdbm \
    --with-imap \
    --with-imap-ssl \
    --with-kerberos \
    --with-mysql=/usr/local/mysql \
    --with-unixODBC=/usr/local/easysoft/unixODBC \
    --with-pear-dir=/usr/local/lib/php \
    --with-mcrypt \
    --with-gd \
    --with-gettext \
    --with-iconv \
    --with-openssl \
    --with-ttf \
    --with-xml \
    --with-zlib \
    --with-zlib-dir=/usr/lib \
    --with-ldap=/usr/local/openldap-2.2.27 

Here is the one that fails:

#!/bin/sh

./configure \
    --enable-gd-native-ttf \
    --enable-mbregex \
    --enable-mbstring \
    --enable-ssl \
    --enable-track-vars \
    --with-apxs2=/usr/local/apache-2.0.55/bin/apxs \
    --with-gdbm \
    --with-imap \
    --with-imap-ssl \
    --with-kerberos \
    --with-mysql=/usr/local/mysql \
    --with-unixODBC=/usr/local/easysoft/unixODBC \
    --with-pear-dir=/usr/local/lib/php \
    --with-mcrypt \
    --with-gd \
    --with-gettext \
    --with-iconv \
    --with-openssl \
    --with-ttf \
    --with-xml \
    --with-zlib \
    --with-zlib-dir=/usr/lib \
    --with-ldap=/usr/local/openldap-2.3.24 



Expected result:
----------------
apachectl configtest
Syntax OK


Actual result:
--------------
apachectl configtest
Syntax OK
/usr/local/apache/bin/apachectl: line 100:  5039 Segmentation fault      $HTTPD -t


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-07-19 06:47 UTC] tony2001@php.net
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.


 [2006-07-19 07:08 UTC] bill dot macallister at prideindustries dot com
Here is the back trace you requested:

(gdb) bt
#0  ldap_free_urllist (ludlist=0x185) at url.c:1464
#1  0x40d14b3b in ldap_parse_vlv_control () from /usr/lib/libldap_r.so.2
#2  0x40cfb15b in ?? () from /usr/lib/libldap_r.so.2
#3  0x40d26000 in ?? () from /usr/lib/libldap_r.so.2
#4  0x40d26734 in ?? () from /usr/lib/libldap_r.so.2
#5  0xbfffd9c8 in ?? ()
#6  0x40d21376 in _fini () from /usr/lib/libldap_r.so.2
#7  0x40d21376 in _fini () from /usr/lib/libldap_r.so.2
#8  0x4000c5e6 in _dl_init () from /lib/ld-linux.so.2
#9  0x4033c192 in exit () from /lib/tls/libc.so.6
#10 0x080b6793 in destroy_and_exit_process (process=0x185, 
    process_exit_value=389) at main.c:211
#11 0x080b75bf in main (argc=2, argv=0xbfffdbd4) at main.c:545

Hmmmm, /usr/lib/libldap_r.so.  I built ldap and installed it in /usr/local/openldap-2.3.4.  So, I am getting the wrong ldap so's?  Not sure how to fix that.  I think I will try building PHP without specifying the ldap location and let it picture whatever client library is in the "standard" location and see what happens.  I would appreciate a pointer to tell me how to use my copy of the 2.3.4 openldap without replacing the system ldap client libraries.
 [2006-07-19 07:22 UTC] tony2001@php.net
Obviously not PHP problem.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 26 11:01:31 2024 UTC