Joshua Hart wrote on Saturday, September 08, 2007 11:09 PM: > On 9/8/07 10:45 PM, "[EMAIL PROTECTED]" > <[EMAIL PROTECTED]> wrote: > > > > > > Oracle is instantclient ia64-10.2.0.3-20061230 > > > > > > oci8 version 1.2.3 revision 1.269.2.16.2.37 > > > > > > Here's my configure command for PHP: > > > > > > './configure' '--with-zlib' '--with-gd' '--with-jpeg' '--with-png' > > > '--with-libxml2=/usr/bin' '--with-mysql=/usr/local/mysql5120' > > > '--with-apxs2=/usr/local/apache2/bin/apxs' '--enable-ftp' > > > '--with-imap-ssl=/usr/include/ssl' > > > '--with-imap=/space/custom_builds/imap-stuff/' '--with-openssl' > > > '--with-pam' '--with-dom' '--with-iconv' '--with-mbstring=all' > > > '--with-mbregex' '--with-domsxlt' '--with-mcrypt' '--with-xml' > > > '--with-mime-magic' '--enable-exif' '--enable-uploadprogress' > > > '--with-xmlrpc' '--with-gettext' '--with-pgsql' > > > '--with-oci8=instantclient,/usr/local/oracle' > > > > Hmm... since this is ia64, there is no lib64 anywhere right? Make > > sure PHP is linking against the right libs. Sometimes lib64'ness > > isn't always obvious. Try adding --with-libdir=lib64 to the PHP > > ./configure, but I'm not sure on this. > > Ldd on the cli for php gives: > ssaturn /usr/local# ldd /space/custom_builds/php-5.2.4/sapi/cli/php > linux-gate.so.1 => (0xa000000000000000) > libcrypt.so.1 => /lib/libcrypt.so.1 (0x2000000000064000) > libc-client.so => > /space/custom_builds/imap-stuff//lib/libc-client.so > (0x20000000000b4000) libpq.so.5 => > /usr/local/pgsql/lib/libpq.so.5 (0x2000000000288000) > librt.so.1 => /lib/librt.so.1 (0x20000000002dc000) > libmysqlclient.so.15 => /usr/local/mysql5120/lib/libmysqlclient.so.15 > (0x20000000002fc000) libmcrypt.so.4 => > /usr/lib/libmcrypt.so.4 (0x2000000000528000) libltdl.so.3 => > /usr/lib/libltdl.so.3 (0x2000000000588000) libdl.so.2 => > /lib/libdl.so.2 (0x20000000005a8000) libpam.so.0 => > /lib/libpam.so.0 (0x20000000005c0000) libpng.so.3 => > /usr/lib/libpng.so.3 (0x20000000005e8000) libresolv.so.2 => > /lib/libresolv.so.2 (0x200000000066c000) libm.so.6.1 => > /lib/libm.so.6.1 (0x20000000006a0000) libnsl.so.1 => > /lib/libnsl.so.1 (0x2000000000770000) libssl.so.0.9.8 => > /usr/lib/libssl.so.0.9.8 (0x20000000007ac000) > libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x200000000083c000) > libclntsh.so.10.1 => /usr/local/oracle/libclntsh.so.10.1 > (0x2000000000aa8000) > libxml2.so.2 => /usr/lib/libxml2.so.2 (0x2000000002c90000) > libc.so.6.1 => /lib/libc.so.6.1 (0x2000000002f40000) > libimf.so.6 => /opt/intel/cc/9.1.037/lib/libimf.so.6 > (0x2000000003190000) > libirc.so => /opt/intel/cc/9.1.037/lib/libirc.so > (0x2000000003440000) > libipr.so.6 => /usr/local/oracle/libipr.so.6 > (0x2000000003470000) libgcc_s.so.1 => /lib/libgcc_s.so.1 > (0x2000000003484000) libpthread.so.0 => /lib/libpthread.so.0 > (0x20000000034a4000) /lib/ld-linux-ia64.so.2 > (0x2000000000000000) libz.so.1 => /lib/libz.so.1 > (0x20000000034dc000) libnnz10.so => > /usr/local/oracle/libnnz10.so (0x2000000003510000) > libunwind.so.7 => /lib/libunwind.so.7 (0x2000000003898000) > > > > > > Another option would be to strip down the ./configure and add > > --disable-all. Perhaps there are some conflicts with Oracle, lib64, > > etc. Then start to add extensions to see if you can isolate the > > problem. > > > > > Again, I can successfully login to the oracle database, and the > > > simplest of queries works. Anything "complicated" crashes the > > > program. > > > > If I understand correctly - if you login via the Oracle client > > directly (so no PHP involved), it'll still segfault when there's a > > complicated query? > > No.. What I was trying to say is that I can login to oracle via a PHP > script. I can even do my query if I limit the data which is returned > by oracle to less than 5 rows. As soon as I ask it to return 5 or > more rows I get a segfault. > > In order to test the instantclient installatiton I installed the > sqlplus "add on" for instantclient and it is able to connect to > oracle and return all requested rows. > > When I use gdb to run the cli for php I get: > > gdb /space/custom_builds/php-5.2.4/sapi/cli/php > GNU gdb 6.4 > Copyright 2005 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 "ia64-suse-linux"...Using host > libthread_db library "/lib/libthread_db.so.1". > > (gdb) run /www/htdocs/nonsecure/con.html > Starting program: /space/custom_builds/php-5.2.4/sapi/cli/php > /www/htdocs/nonsecure/con.html > [Thread debugging using libthread_db enabled] > [New Thread 2305843009273028592 (LWP 27213)] > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 2305843009273028592 (LWP 27213)] > 0x40000000005f6ba0 in _zval_ptr_dtor (zval_ptr=0x607ffffffebdb7f0) at > /space/custom_builds/php-5.2.4/Zend/zend_execute_API.c:413 > 413 (*zval_ptr)->refcount--; > (gdb) where > #0 0x40000000005f6ba0 in _zval_ptr_dtor > (zval_ptr=0x607ffffffebdb7f0) at > /space/custom_builds/php-5.2.4/Zend/zend_execute_API.c:413 #1 > 0x400000000068d700 in zend_do_fcall_common_helper_SPEC > (execute_data=0x607ffffffebdc370) at > /space/custom_builds/php-5.2.4/Zend/zend_execute.h:155 #2 > 0x4000000000666a00 in execute (op_array=0x20000000039d4e40) at > /space/custom_builds/php-5.2.4/Zend/zend_vm_execute.h:92 #3 > 0x40000000006188e0 in zend_execute_scripts (type=8, retval=0x0, > file_count=3) at /space/custom_builds/php-5.2.4/Zend/zend.c:1134 #4 > 0x4000000000577bb0 in php_execute_script (primary_file=Cannot access > memory at address 0x10 ) at > /space/custom_builds/php-5.2.4/main/main.c:1982 #5 > 0x400000000076fa30 in main (argc=Cannot access memory at address 0x0 > ) at /space/custom_builds/php-5.2.4/sapi/cli/php_cli.c:1140 (gdb) > > > From the stacktrace above looks like something is overflowing its > > bounds... > > I will try your suggested alternative option next and just build php > with oracle only to see if I get the same problem.
Yeah - I'd almost bet that it looks like a bad pointer/int on 64bit which is probably a bug in PHP/Zend. Try doing a minimal configure which can also help in reporting a bug. > I also have started to download the full client from Oracle instead > of the instantclient to see if it makes any sort of difference. Would be interested to know if this makes a difference - I think there's been some rumblings of problems with instantclient. H _______________________________________________ New York PHP Community Talk Mailing List http://lists.nyphp.org/mailman/listinfo/talk NYPHPCon 2006 Presentations Online http://www.nyphpcon.com Show Your Participation in New York PHP http://www.nyphp.org/show_participation.php
