ID: 24003
Comment by: andre_nasser at yahoo dot com dot br
Reported By: dkruger at stevens-tech dot edu
Status: Bogus
Bug Type: OCI8 related
Operating System: Redhat 8.0
PHP Version: 4.3.2
New Comment:
Friends, I am an Oracle DBA and I supporting a team developing with PHP
and we are facing this very issue. Questions:
1) When you say it works with Oracle8 -- is it olny the client or the
Oracle server ?
2) We would like to know if this workaround is only for Oracle8 (8.0.x)
or does it also work for Oracle8i (8.1.x) ?
Thanks, Andre
Previous Comments:
------------------------------------------------------------------------
[2003-06-16 02:39:23] j dot henge-ernst at interexa dot de
We encountered the same problem, but it seem to be a oracle9 (9ir2)
issue. After switching back to oracle 8 everything works as expected.
With PHP 4.2.3 and oracle 9 it works, but with 4.3.2 not.
Today I tried a latest snap-shot ( php4-STABLE-200306131730 ) and it
seems to work again as expected.
No segfault or stange SQL-errors.
------------------------------------------------------------------------
[2003-06-04 08:45:54] e_zagrai at yahoo dot com
The variables $ORACLE_HOME and others were set before apache started -
it didn't help...
------------------------------------------------------------------------
[2003-06-04 08:43:07] e_zagrai at yahoo dot com
I tryed to backtrace the error and that's what I've got:
[EMAIL PROTECTED] bin]# gdb /usr/local/apache/bin/httpd
GNU gdb Red Hat Linux (5.2.1-4)
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-redhat-linux"...
(gdb) run -X
Starting program: /usr/local/apache/bin/httpd -X
[New Thread 8192 (LWP 3518)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 8192 (LWP 3518)]
0x405fddfa in kpuhhaloc () from /oracle/lib/libclntsh.so.9.0
(gdb) bt
#0 0x405fddfa in kpuhhaloc () from /oracle/lib/libclntsh.so.9.0
#1 0x4060e15f in kpughndl0 () from /oracle/lib/libclntsh.so.9.0
#2 0x40614543 in kpughndl () from /oracle/lib/libclntsh.so.9.0
#3 0x40668dd6 in OCIHandleAlloc () from /oracle/lib/libclntsh.so.9.0
#4 0x402ebb93 in _oci_open_session (server=0x81d3d60,
username=0x81ed764 "xxx", password="xxx", persistent=0,
exclusive=0, charset=0x403eb827 "") at
/arc/php-4.3.2/ext/oci8/oci8.c:2253
#5 0x402ed1e4 in oci_do_connect (ht=3, return_value=0x81ed84c,
this_ptr=0x0, return_value_used=1, persistent=0, exclusive=0)
at /arc/php-4.3.2/ext/oci8/oci8.c:2685
#6 0x402f19d4 in zif_ocilogon (ht=3, return_value=0x81ed84c,
this_ptr=0x0, return_value_used=1) at
/arc/php-4.3.2/ext/oci8/oci8.c:4307
#7 0x403dd592 in execute (op_array=0x81d20c4) at
/arc/php-4.3.2/Zend/zend_execute.c:1606
#8 0x403cc1bd in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /arc/php-4.3.2/Zend/zend.c:869
#9 0x40396464 in php_execute_script (primary_file=0xbffff600) at
/arc/php-4.3.2/main/main.c:1671
#10 0x403e32a5 in php_handler (r=0x81dc998) at
/arc/php-4.3.2/sapi/apache2handler/sapi_apache2.c:525
#11 0x080903e6 in ap_run_handler (r=0x81dc998) at config.c:195
#12 0x080908fe in ap_invoke_handler (r=0x81dc998) at config.c:401
#13 0x08080813 in ap_process_request (r=0x81dc998) at
http_request.c:288
#14 0x0807ca51 in ap_process_http_connection (c=0x81c8920) at
http_core.c:293
#15 0x080993d6 in ap_run_process_connection (c=0x81c8920) at
connection.c:85
#16 0x0808ef9c in child_main (child_num_arg=0) at prefork.c:696
#17 0x0808f146 in make_child (s=0x80f0c08, slot=0) at prefork.c:736
#18 0x0808f19f in startup_children (number_to_start=5) at
prefork.c:808
#19 0x0808f891 in ap_mpm_run (_pconf=0x808e878, plog=0x8125e70,
s=0x80f0c08) at prefork.c:1024
#20 0x080945aa in main (argc=2, argv=0xbffff8d4) at main.c:660
#21 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6
Hopefully it can help somehow...
------------------------------------------------------------------------
[2003-06-04 08:26:44] [EMAIL PROTECTED]
As our documentation describes, you need to set the environment vars
BEFORE you start apache. Setting it in a script won't work:
putenv("ORACLE_SID=coastal");
putenv("ORACLE_HOME=/oracle");
putenv("TNS_ADMIN=/oracle/network/admin/tnsnames.ora");
------------------------------------------------------------------------
[2003-06-04 08:24:44] e_zagrai at yahoo dot com
I've got exectly the same problem and I tryed to use the CVS snapshot
you proposed, but the result is the same as it was before: I execute my
programm with Oracle interaction for 2-3 times and then I get the error
"Document contains no data" every time I try to connect to Oracle in my
programm. If I execute any other php without Oracle interaction - it
works.
Apache's error log contains the line:
[Wed Jun 04 09:16:40 2003] [notice] child pid 3340 exit signal
Segmentation fault (11)
Thanks,
Elena
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/24003
--
Edit this bug report at http://bugs.php.net/?id=24003&edit=1