Bug #13649 Updated: IBM DB2 memory leak

From: 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

« previous php.bugs (#11081) next »