Bug #13649 Updated: IBM DB2 memory leak
| From: | derick@php.net | Date: | Tue, 18 Jun 2002 09:23:05 +0000 |
| Subject: | Bug #13649 Updated: IBM DB2 memory leak | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-11081@lists.php.net to get a copy of this message | ||
ID: 13649
Updated by: derick@php.net
Reported By: clacetera_sysnet@bci.it
-Status: Analyzed
+Status: Assigned
Bug Type: Performance problem
Operating System: linux red hat 6.2/7.1
PHP Version: 4.0.6
-Assigned To:
+Assigned To: kalowsky
Previous Comments:
------------------------------------------------------------------------
[2001-12-15 13:55:53] kalowsky@php.net
This isn't fully a bug in PHP. As I understand it this happens to be
because of the method DB2 handles the releasing of the cursor. Which
is something PHP can't change really. But the way PHP works with the
cursor isn't any good either, and that needs to be changed... which
will hopefully get rid of this problem. Problem being a patch I have
for the cursor update doesn't fully work on many of the supportd DBs by
ODBC. So it's still in development...
------------------------------------------------------------------------
[2001-12-12 19:13:35] yohgaki@php.net
Could you try PHP 4.1.0 see if it help?
------------------------------------------------------------------------
[2001-10-12 04:23:12] clacetera_sysnet@bci.it
Systems Used Linux RedHat 6.2 + db2 6.1
Systems Used Linux RedHat 7.1 + db2 7.2
I'm using php with ibm-db2 and I'm experiencing a large amount of
memory used by apache. Up to 20-30 MB !!!
If I stress the system with simple or complex SQL queries the used
memory amount grows.
an hack that I've tried is to impose a memory limit patch to php, but
I've obtained no positive results.
The module is compiled as shared.
there is another problem with libpthread.so that i have to preload with
LD_PRELOAD=path_to lipthread.so.*
this is my configure line
'./configure' '--disable-debug' \
'--disable-pear' \
'--disable-static' \
'--enable-pic' \
'--enable-inline-optimization' \
'--enable-track-vars' '--with-apxs' \
'--with-xml' \
'--with-ftp'\
'--with-gd' \
'--with-ttf' \
'--enable-freetype-4bit-antialias-hack'
'--enable-sysvsem' '--enable-sysvshm' \
'--enable-calendar' \
'--without-mysql' \
'--enable-safe-mode' \
'--with-system-regex' \
'--with-prefix=/usr' \
'--with-config-file-path=/etc/httpd/' \
'--with-versioning' \
'--with-gettext=/bin/gettex' \
'--with-ibm-db2=shared' \
'--with-ldap=shared' \
'--enable-memory-limit'
this is ldd of libphp.so
libpam.so.0 => /lib/libpam.so.0 (0x40129000)
libdl.so.2 => /lib/libdl.so.2 (0x40131000)
libgd.so.1.8 => /usr/lib/libgd.so.1.8 (0x40135000)
libttf.so.2 => /usr/lib/libttf.so.2 (0x40168000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40192000)
libresolv.so.2 => /lib/libresolv.so.2 (0x401c0000)
libm.so.6 => /lib/i686/libm.so.6 (0x401d3000)
libnsl.so.1 => /lib/libnsl.so.1 (0x401f8000)
libc.so.6 => /lib/i686/libc.so.6 (0x4020f000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x4033f000)
libpng.so.2 => /usr/lib/libpng.so.2 (0x4035e000)
libz.so.1 => /usr/lib/libz.so.1 (0x4037f000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
and this is ldd of odbc.so
libdb2.so.1 => /usr/IBMdb2/V7.1/lib/libdb2.so.1 (0x4002c000)
libc.so.6 => /lib/i686/libc.so.6 (0x4088c000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x409bc000)
libdl.so.2 => /lib/libdl.so.2 (0x409ea000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x409ee000)
libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2
(0x40a03000)
libm.so.6 => /lib/i686/libm.so.6 (0x40a46000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
the module odbc.so must be loaded with dl('odbc.so') each time from the
script, if i include this is php.ini the httpd give me a segmentation
fault (problem to resolve libpthread???)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=13649&edit=1