From: Andre LAGADEC on
Hello,

I am on Solaris 10 X86 with DELL IP , and I compile Php-5.2.9 with
Apache2, Mysql6 and Oracle10g
with success.

But when I want to connect to Oracle database I get a core dump.

I use this code
<?php
$c=ocilogon('bceconsulter','bce','BCE');
print_r($c);
Resource id #1
ocilogoff($c);
?>

and I run it with the command /usr/local/apache2_php5_2_9/bin/php -a

I recompile PHP with --enable-debug and I run gdb to get a backtrace. I
get this
<serveur7>#/usr/local/apache2_php5_2_9/bin/php -a
Interactive mode enabled

<?php
$c=ocilogon('scott','tigger','DB1');
Erreur de segmentation (core dumped)
<serveur7>#gdb /usr/local/apache2_php5_2_9/bin/php ./core
GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i386-pc-solaris2.10"...
Reading symbols from /usr/lib/libcrypt_d.so.1...done.
Loaded symbols for /usr/lib/libcrypt_d.so.1
Reading symbols from /usr/local/imap-2007e/lib/libc-client.so...done.
Loaded symbols for /usr/local/imap-2007e/lib/libc-client.so
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/libexslt.so.0...done.
Loaded symbols for /usr/lib/libexslt.so.0
Reading symbols from /usr/local/lib/libtidy-0.99.so.0...done.
Loaded symbols for /usr/local/lib/libtidy-0.99.so.0
Reading symbols from /usr/lib/librt.so.1...done.
Loaded symbols for /usr/lib/librt.so.1
Reading symbols from
/usr/local/mysql-connector-c-6.0.2-solaris10-x86-32bit/lib/libmysql.so.16...done.
Loaded symbols for
/usr/local/mysql-connector-c-6.0.2-solaris10-x86-32bit/lib/libmysql.so.16
Reading symbols from /usr/local/lib/libmcrypt.so.4...done.
Loaded symbols for /usr/local/lib/libmcrypt.so.4
Reading symbols from /usr/local/lib/libltdl.so.7...done.
Loaded symbols for /usr/local/lib/libltdl.so.7
Reading symbols from /usr/lib/libldap.so.5...done.
Loaded symbols for /usr/lib/libldap.so.5
Reading symbols from /usr/lib/libpam.so.1...done.
Loaded symbols for /usr/lib/libpam.so.1
Reading symbols from /usr/local/lib/libintl.so.8...done.
Loaded symbols for /usr/local/lib/libintl.so.8
Reading symbols from /usr/local/lib/libiconv.so.2...done.
Loaded symbols for /usr/local/lib/libiconv.so.2
Reading symbols from /usr/lib/libsec.so.1...done.
Loaded symbols for /usr/lib/libsec.so.1
Reading symbols from /usr/lib/libc.so.1...done.
Loaded symbols for /usr/lib/libc.so.1
Reading symbols from /usr/sfw/lib/libfreetype.so.6...done.
Loaded symbols for /usr/sfw/lib/libfreetype.so.6
Reading symbols from /usr/lib/libpng12.so.0...done.
Loaded symbols for /usr/lib/libpng12.so.0
Reading symbols from /usr/lib/libjpeg.so.62...done.
Loaded symbols for /usr/lib/libjpeg.so.62
Reading symbols from /usr/local/ssl/lib/libssl.so.0.9.8...done.
Loaded symbols for /usr/local/ssl/lib/libssl.so.0.9.8
Reading symbols from /usr/local/ssl/lib/libcrypto.so.0.9.8...done.
Loaded symbols for /usr/local/ssl/lib/libcrypto.so.0.9.8
Reading symbols from /usr/lib/libresolv.so.2...done.
Loaded symbols for /usr/lib/libresolv.so.2
Reading symbols from /usr/lib/libm.so.2...done.
Loaded symbols for /usr/lib/libm.so.2
Reading symbols from /usr/lib/libnsl.so.1...done.
Loaded symbols for /usr/lib/libnsl.so.1
Reading symbols from /usr/lib/libsocket.so.1...done.
Loaded symbols for /usr/lib/libsocket.so.1
Reading symbols from /usr/lib/libxml2.so.2...done.
Loaded symbols for /usr/lib/libxml2.so.2
Reading symbols from /usr/lib/libkstat.so.1...done.
Loaded symbols for /usr/lib/libkstat.so.1
Reading symbols from /usr/lib/libgen.so.1...done.
Loaded symbols for /usr/lib/libgen.so.1
Reading symbols from /usr/lib/libdl.so.1...done.
Loaded symbols for /usr/lib/libdl.so.1
Reading symbols from /usr/lib/libsched.so.1...
warning: Lowest section in /usr/lib/libsched.so.1 is .dynamic at 00000074
done.
Loaded symbols for /usr/lib/libsched.so.1
Reading symbols from
/produits/oracle/product/10.2.0/lib32/libclntsh.so.10.1...done.
Loaded symbols for /produits/oracle/product/10.2.0/lib32/libclntsh.so.10.1
Reading symbols from /usr/lib/libthread.so.1...
warning: Lowest section in /usr/lib/libthread.so.1 is .dynamic at 00000074
done.
Loaded symbols for /usr/lib/libthread.so.1
Reading symbols from /usr/lib/libxslt.so.1...done.
Loaded symbols for /usr/lib/libxslt.so.1
Reading symbols from /usr/sfw/lib/libgcc_s.so.1...done.
Loaded symbols for /usr/sfw/lib/libgcc_s.so.1
Reading symbols from /usr/lib/libpthread.so.1...
warning: Lowest section in /usr/lib/libpthread.so.1 is .dynamic at 00000074
done.
Loaded symbols for /usr/lib/libpthread.so.1
Reading symbols from /usr/lib/libaio.so.1...done.
Loaded symbols for /usr/lib/libaio.so.1
Reading symbols from /usr/lib/libmd.so.1...done.
Loaded symbols for /usr/lib/libmd.so.1
Reading symbols from /usr/lib/libcmd.so.1...done.
Loaded symbols for /usr/lib/libcmd.so.1
Reading symbols from /usr/lib/libavl.so.1...done.
Loaded symbols for /usr/lib/libavl.so.1
Reading symbols from
/produits/oracle/product/10.2.0/lib32/libnnz10.so...done.
Loaded symbols for /produits/oracle/product/10.2.0/lib32/libnnz10.so
Reading symbols from /usr/lib/mps/libnspr4.so...done.
Loaded symbols for /usr/lib/mps/libnspr4.so
Reading symbols from /usr/lib/libsasl.so.1...done.
Loaded symbols for /usr/lib/libsasl.so.1
Reading symbols from /usr/lib/mps/libplc4.so...done.
Loaded symbols for /usr/lib/mps/libplc4.so
Reading symbols from /usr/lib/mps/libnss3.so...done.
Loaded symbols for /usr/lib/mps/libnss3.so
Reading symbols from /usr/lib/mps/libnssutil3.so...done.
Loaded symbols for /usr/lib/mps/libnssutil3.so
Reading symbols from /usr/lib/mps/libplds4.so...done.
Loaded symbols for /usr/lib/mps/libplds4.so
Reading symbols from /usr/lib/mps/libssl3.so...done.
Loaded symbols for /usr/lib/mps/libssl3.so
Reading symbols from /usr/lib/libmp.so.2...done.
Loaded symbols for /usr/lib/libmp.so.2
Reading symbols from /usr/lib/libscf.so.1...done.
Loaded symbols for /usr/lib/libscf.so.1
Reading symbols from /usr/lib/libdoor.so.1...done.
Loaded symbols for /usr/lib/libdoor.so.1
Reading symbols from /usr/lib/libuutil.so.1...done.
Loaded symbols for /usr/lib/libuutil.so.1
Reading symbols from
/usr/lib/locale/fr_FR.ISO8859-1/fr_FR.ISO8859-1.so.3...done.
Loaded symbols for /usr/lib/locale/fr_FR.ISO8859-1/fr_FR.ISO8859-1.so.3
Reading symbols from /lib/ld.so.1...done.
Loaded symbols for /lib/ld.so.1
Core was generated by `/usr/local/apache2_php5_2_9/bin/php -a'.
Program terminated with signal 11, Segmentation fault.
[New process 73527 ]
#0 0x00000000 in ?? ()
(gdb) bt
#0 0x00000000 in ?? ()
#1 0xfd9961c8 in nnfgast () from
/produits/oracle/product/10.2.0/lib32/libclntsh.so.10.1
#2 0xfd996a3f in nnfgrne () from
/produits/oracle/product/10.2.0/lib32/libclntsh.so.10.1
#3 0xfda0b30d in nlolgobj () from
/produits/oracle/product/10.2.0/lib32/libclntsh.so.10.1
#4 0xfd9951ab in nnfun2a () from
/produits/oracle/product/10.2.0/lib32/libclntsh.so.10.1
#5 0xfd994e9e in nnfsn2a () from
/produits/oracle/product/10.2.0/lib32/libclntsh.so.10.1
#6 0xfd983f97 in niqname () from
/produits/oracle/product/10.2.0/lib32/libclntsh.so.10.1
#7 0xfd8cfd54 in kwfnran () from
/produits/oracle/product/10.2.0/lib32/libclntsh.so.10.1
#8 0xfd8a7b33 in kwfcinit () from
/produits/oracle/product/10.2.0/lib32/libclntsh.so.10.1
#9 0xfd726f04 in kpuatch () from
/produits/oracle/product/10.2.0/lib32/libclntsh.so.10.1
#10 0xfd7e6f06 in OCIServerAttach () from
/produits/oracle/product/10.2.0/lib32/libclntsh.so.10.1
#11 0x081ed4c1 in php_oci_do_connect_ex (username=0x879ad58 "scott",
username_len=5, password=0x879ac08 "tigger", password_len=6,
new_password=0x0,
new_password_len=0, dbname=0x879ae0c "DB1", dbname_len=3,
charset=0x0, session_mode=0, persistent=0, exclusive=0)
at /tra/packages/php-5.2.9/ext/oci8/oci8.c:1261
#12 0x081ebb25 in php_oci_do_connect (ht=3, return_value=0x879ae3c,
return_value_ptr=0x0, this_ptr=0x0, return_value_used=1, persistent=0,
exclusive=0)
at /tra/packages/php-5.2.9/ext/oci8/oci8.c:983
#13 0x081fcfff in zif_oci_connect (ht=3, return_value=0x879ae3c,
return_value_ptr=0x0, this_ptr=0x0, return_value_used=1)
at /tra/packages/php-5.2.9/ext/oci8/oci8_interface.c:1554
#14 0x0846a89e in zend_do_fcall_common_helper_SPEC
(execute_data=0x8045f00) at
/tra/packages/php-5.2.9/Zend/zend_vm_execute.h:200
#15 0x0846fe12 in ZEND_DO_FCALL_SPEC_CONST_HANDLER
(execute_data=0x8045f00) at
/tra/packages/php-5.2.9/Zend/zend_vm_execute.h:1729
#16 0x0846a442 in execute (op_array=0x879a88c) at
/tra/packages/php-5.2.9/Zend/zend_vm_execute.h:92
#17 0x0843ade5 in execute_new_code () at
/tra/packages/php-5.2.9/Zend/zend_execute_API.c:1314
#18 0x0841b499 in zendparse () at
/tra/packages/php-5.2.9/Zend/zend_language_parser.c:3033
#19 0x0841f4c7 in compile_file (file_handle=0x8047ad4, type=8) at
/tra/packages/php-5.2.9/Zend/zend_language_scanner.c:3420
#20 0x0844710a in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /tra/packages/php-5.2.9/Zend/zend.c:1126
#21 0x083f60a1 in php_execute_script (primary_file=0x8047ad4) at
/tra/packages/php-5.2.9/main/main.c:2023
#22 0x084b9a5c in main (argc=2, argv=0x8047b44) at
/tra/packages/php-5.2.9/sapi/cli/php_cli.c:1133
(gdb)

What I do wrong ? Is it a bug ?

If I run sqlplus scott/tigger(a)DB1 it works !

I compile PHP whith this parameters
'./configure' \
'--with-config-file-path=/usr/local/apache2/conf' \
'--prefix=/usr/local/apache2_php5_2_9' \
'--exec-prefix=/usr/local/apache2_php5_2_9' \
'--with-png-dir=/usr/sfw' \
'--with-jpeg-dir=/usr/sfw' \
'--with-freetype-dir=/usr/sfw' \
'--with-openssl=/usr/local/ssl' \
'--with-zlib=/usr' '--with-zlib-dir=/usr' \
'--with-gd' \
'--enable-gd-native-ttf' \
'--with-apxs2=/usr/local/apache2/bin/apxs' \
'--with-libxml-dir=/usr/local' \
'--with-oci8=/produits/oracle/product/10.2.0' \
'--with-pdo-oci=/produits/oracle/product/10.2.0' \

'--with-mysql=/usr/local/mysql-connector-c-6.0.2-solaris10-x86-32bit' \

'--with-pdo-mysql=/usr/local/mysql-connector-c-6.0.2-solaris10-x86-32bit' \
'--with-tidy=/usr/local' \
'--with-imap=/usr/local/imap-2007e' \
'--enable-soap' \
'--with-ldap' \
'--with-gettext=/usr/local' \
'--with-xmlrpc' \
'--enable-ftp' \
'--enable-libgcc' \
'--enable-zip' \
'--with-xsl=/usr/local' \
'--with-mcrypt=/usr/local' \
'--enable-mbstring' \
'--enable-debug' \
'--disable-inline-optimization' 1>>build_apache2Bis_php.log
2>>build_apache2Bis_php.log
exit 0
;;

Thanks for your help.