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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: bill dot macallister at prideindustries dot com
New email:
PHP Version: OS:

 

 [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

Pull Requests

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-2025 The PHP Group
All rights reserved.
Last updated: Wed Jul 16 12:01:31 2025 UTC