ID: 36884
Comment by: tuliogs at pgt dot mpt dot gov dot br
Reported By: guenther dot unterrainer at gknsintermetals dot com
Status: No Feedback
Bug Type: Apache related
Operating System: SLES9 SP3 x86-64
PHP Version: 4.4.2
New Comment:
As noted in the notes for Oracle Funcions online documentation, this
issue was already solved in PECL oci8 1.2.1 and later, but is still
present in 4.4.7. To solve this, you´ll have to go through the following
steps (modified from Rainer Klier´s notes on that page):
0. (before anything): be sure to have the path to instantclient in your
LD_LIBRARY_PATH
1. download latest oci8-package from http://pecl.php.net/package/oci8
(if you already have PHP installed), just do "pecl download oci8"
2. extract package somewhere
3. go to php-4.4.x-source directory
4. rm -rf ext/oci8
5. cp extraceted oci8-1.2.x directory to/as ext/oci8
6. make distclean
7. If you use autoconf 2.5 and later (maybe other versions too),
present in updated RedHat/CentOS 4.4 and 5, you MUST delete PHP´s
configure script, or it will do nothing:
rm configure
8./buildconf --force
9. ./configure (with the options you need)
--with-oci8=instantclient,/path/to/instantclient
(notice you´ll be using PHP5 syntax for --with-oci8)
10. make
11. ONLY for x86_64, and not really mandatory (same effect as manually
editing "memory_limit = 128M" in php.ini, if existing):
11.1. create pear-install.ini:
-----------------------------------------------
[PHP]
memory_limit = 128M
------------------------------------------------
11.2. edit Makefile:
replace:
PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dsafe_mode=0
with:
PEAR_INSTALL_FLAGS = -cpear-install.ini -dshort_open_tag=0
-dsafe_mode=0
12. make install
13. if not already, set
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/path/to/instantclient" in your
environment (one of profile, apachectl, or /etc/rc.d/init.d/httpd
scripts, as you prefer) BEFORE starting Apache. No need to set TNS_ADMIN
and tnsnames.ora for Instant Client, IF and only if Oracle´s easy syntax
is available - see
http://download-east.oracle.com/docs/cd/B12037_01/network.101/b10775/naming.htm#i498306
14. have fun!
One example of easily reproducing sample for this issue is
phpBB-3.0-RC1. I know it´s not small, but it´s very easy and simple to
pick, and you´ll probably get this kind of error still in the install
screens, past the database settings.
Now I think it´s past time to update oci8, ;) this bug is really more
than just an annoyance.
*Note: presently, oci8 v1.2.3 may cause the following warning in some
scripts: "ocilogoff(): supplied resource is not a valid oci8 connection
resource in /path/to/script", but this is less troublesome and easily
treated with adjusting logging facilities in php.ini while the scripts
are adjusted. Cheers!
Previous Comments:
------------------------------------------------------------------------
[2006-10-13 08:13:02] kutovoy at gmail dot com
I found out that this problem (in my case) was connected with unpacking
(gz) corrupted(truncated) data from database after some headeik with
debugging and testing. I stored compressed data in TEXT field, but data
was 85Kb length and was truncated to 65535. I think gzuncompress cause
that glibc errors. After altering field to LONGBLOB problem gone.
Good luck!
------------------------------------------------------------------------
[2006-10-11 14:01:11] kutovoy at gmail dot com
The same errors on big arrays of objects. on PHP 4.4.2, I'm now trying
to figure out working version of PHP.
*** glibc detected *** free(): invalid pointer: 0x08925b00 ***
[Wed Oct 11 09:26:06 2006] [notice] child pid 2610 exit signal Aborted
(6)
[Wed Oct 11 09:28:38 2006] [error] [client 194.247.xxx.yyy] File does
not exist: /xxx/htdocs/yyy/favicon.ico
[Wed Oct 11 10:58:43 2006] [notice] child pid 4059 exit signal
Segmentation fault (11)
and similar with *** glibc detected *** corrupted double-linked list:
------------------------------------------------------------------------
[2006-10-05 21:14:55] ndickerson at gmi-mr dot com
I have also encountered this bug on php 4.3.10 using php xmlrpc
libraries(phpxmlrpc.sourceforge.net) and processing an array of 20,000
records using the library, which happens to create a large number of
objects.
*** glibc detected *** double free or corruption (!prev): 0x0fbf24b8
***
is followed by some
*** glibc detected *** corrupted double-linked list: 0x006f4858 ***
There are also some other errors that I have lost that occur in the
place of the double free or corruption error..
This works fine when it is not processing as many objects.
------------------------------------------------------------------------
[2006-10-05 16:53:12] egon at inf dot ufpr dot br
The above code works fine in 5.1. It crashes on PHP 4.3.4, 4.4.2 and
4.4.4 on both linux/windows.
------------------------------------------------------------------------
[2006-10-04 22:35:04] egon at inf dot ufpr dot br
By the way, I've got several types of erros, it appears to be random:
[Wed Oct 04 17:51:18 2006] [notice] child pid 12451 exit signal
Segmentation fault (11)
*** glibc detected *** free(): invalid next size (fast): 0x08202798
***
[Wed Oct 04 17:58:35 2006] [notice] child pid 12693 exit signal Aborted
(6)
77*** glibc detected *** corrupted double-linked list: 0xb7b7d358 ***
[Wed Oct 04 19:21:51 2006] [notice] child pid 12731 exit signal Aborted
(6)
------------------------------------------------------------------------
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/36884
--
Edit this bug report at http://bugs.php.net/?id=36884&edit=1