You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by "Francisco Puente XFMP (QA/EMC)" <Fr...@ericsson.com> on 2004/08/24 20:49:37 UTC

[users@httpd] PHP 4.3.8 + Apache 1.3.31 + Oracle 9.2.0.4 Segmentation Fault

Hi all, 
	I'm trying to get apache + php to work with Oracle on Debian(Woody). I've managed to install Oracle 9.2.0.4 on Debian Woody, it's working fine from the command line. I've compiled Apache/PHP both from the sources with the following parameters.
PHP:
./configure --enable-gd-imgstrttf --with-gd --with-jpeg --with-apache=../apache_1.3.31 --with-mysql --with-pspell --with-ttf --with-zlib --enable-bcmath --enable-filepro --enable-ftp --enable-track-vars --enable-calendar --enable-ctype --enable-exif --enable-trans-sid --enable-shmop --enable-sockets --enable-sysvsem --enable-sysvshm --enable-wddx --with-sybase-ct=/opt/sybase-11.9.2 --with-oci8=/ora/9iR2 --enable-sigchild --with-mcrypt

Apache:
LIBS=-lpthread ./configure --prefix=/usr/local/apache --enable-module=most --enable-module=so --activate-module=src/modules/php4/libphp4.a

The installation of both went smooth, but when trying to start httpd I get a segmentation fault on the logs:
.......
[Tue Aug 24 14:18:56 2004] [notice] child pid 21478 exit signal Segmentation fault (11)
[Tue Aug 24 14:18:56 2004] [notice] child pid 21477 exit signal Segmentation fault (11)
[Tue Aug 24 14:18:56 2004] [notice] child pid 21476 exit signal Segmentation fault (11)
[Tue Aug 24 14:18:56 2004] [notice] child pid 21475 exit signal Segmentation fault (11)
.......

If I remove oracle support (--with-oci8) from PHP it works great with Sybase and MySQL, but I need to get Oracle to work.
I've added some oracle environment variables to apachectl:
---------
export ORACLE_SID=ora9
export ORACLE_HOME=/ora/9iR2 (with only this should be enough)
export ORA_NLS33=/ora/9iR2/ocommon/nls/admin/data
export PATH=$PATH:$ORACLE_HOME/bin:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export THREAD_FLAG=native
export LC_LANG=en_US
export CLASSPATH=/ora/9iR2/JRE:/ora/9iR2/jlib:/ora/9iR2/rdbms/jlib:/ora/9iR2/network/jlib
-----------

This is the debug part from apache:
ldd /usr/local/apache/bin/httpd 
        libpthread.so.0 => /lib/libpthread.so.0 (0x4001d000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x40031000)
        libinsck.so => /opt/sybase-11.9.2/lib/libinsck.so (0x4005f000)
        libsybtcl.so => /opt/sybase-11.9.2/lib/libsybtcl.so (0x40062000)
        libintl.so => /opt/sybase-11.9.2/lib/libintl.so (0x40084000)
        libcomn.so => /opt/sybase-11.9.2/lib/libcomn.so (0x4008c000)
        libct.so => /opt/sybase-11.9.2/lib/libct.so (0x400e4000)
        libcs.so => /opt/sybase-11.9.2/lib/libcs.so (0x40141000)
        libpspell.so.4 => /usr/lib/libpspell.so.4 (0x4014e000)
        libmcrypt.so.4 => /usr/lib/libmcrypt.so.4 (0x4016c000)
        libltdl.so.3 => /usr/lib/libltdl.so.3 (0x40172000)
        libpng.so.2 => /usr/lib/libpng.so.2 (0x40178000)
        libz.so.1 => /usr/lib/libz.so.1 (0x401a3000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x401b1000)
        libm.so.6 => /lib/libm.so.6 (0x401c1000)
        libdl.so.2 => /lib/libdl.so.2 (0x401e2000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x401e5000)
        libclntsh.so.9.0 => /ora/9iR2/lib/libclntsh.so.9.0 (0x401f9000)
        libdb.so.2 => /lib/libdb.so.2 (0x40bcb000)
        libc.so.6 => /lib/libc.so.6 (0x40bd8000)
        libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0x40cf5000)
        libpspell-modules.so.1 => /usr/lib/libpspell-modules.so.1 (0x40d3e000)
        libwtc9.so => /ora/9iR2/lib/libwtc9.so (0x40d40000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

#gdb httpd
GNU gdb 2002-04-01-cvs
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-linux"...
(gdb) b ap_process_request
Breakpoint 1 at 0x81cd8aa
(gdb) run -X -d /usr/local/apache
Starting program: /usr/local/apache/bin/httpd -X -d /usr/local/apache
[New Thread 1024 (LWP 21553)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 21553)]
0x40e8017b in ber_strdup () from /usr/lib/liblber.so.2
----------------------------------------------------------------
I've tried to change all the environment variables with no luck. As stated above, removing oracle support it works great!
It's a php problem? it's apache's? oci?
Any help will be very very welcome!

Francisco