memory leaks on sybase
| From: | Harold | Date: | Wed, 24 Nov 1999 23:50:59 +0000 |
| Subject: | memory leaks on sybase | ||
| Groups: | php.version4 | ||
| Request: | Send a blank email to php-version4+get-6872@lists.php.net to get a copy of this message | ||
(redhat 6.0 / apache 1.3.9 / php4beta4(cvs) / sybase 11.9.2)
we are using php4 in a large project, and are having problems with the
sybase functions in php.. first we had numeric values that were returning
garbage (in beta2) which was fixed.. now we are having problems with
varchars..
in beta3, the pages would stop loading in the middle before the output of
the varchar.. with a couple of refreshes, the pages would then load fine..
in beta2 and beta4 this does not happen.. beta2 seems to be fine, but beta4
will return the varchars garbaged, with missing data, a different expected
output, or nothing at all (for that string output.. the page would load to
the end as normal).. this 'garbage effect' changes on every reload of the
page..
it didnt occur to me to look at the apache error log file until thies
suggested it.. on one production machine, the error log was over 4 megs.. on
another machine the error log was under 2 megs.. here is what happens with
the log that is under 2 megs.. (after an apache restart)
[root@server logs]# tail -f error_log
[Thu Nov 25 01:13:53 1999] [notice] Apache/1.3.9 (Unix) PHP/4.0b4-dev
configured -- resuming normal operations
sybase.c(933) : Freeing 0x081C1EF8 (51 bytes),
script=/home/www/htdocs/test.php
zend_variables.c(128) : Actual location (location was relayed)
Last leak repeated 4 times
sybase.c(928) : Freeing 0x081C1EB8 (12 bytes),
script=/home/www/htdocs/test.php
Last leak repeated 4 times
sybase.c(933) : Freeing 0x081C4280 (51 bytes),
script=/home/www/htdocs/test.php
zend_variables.c(128) : Actual location (location was relayed)
Last leak repeated 3 times
sybase.c(928) : Freeing 0x081C4240 (12 bytes),
script=/home/www/htdocs/test.php
Last leak repeated 3 times
sybase.c(928) : Freeing 0x08240EB8 (12 bytes),
script=/home/www/htdocs/htdocs2/test.php
Last leak repeated 42 times
sybase.c(933) : Freeing 0x08240E78 (12 bytes),
script=/home/www/htdocs/htdocs2/test.php
zend_variables.c(128) : Actual location (location was relayed)
Last leak repeated 41 times
zend_execute.c(322) : Freeing 0x0823FC30 (9 bytes),
script=/home/www/htdocs/htdocs2/test.php
zend_variables.c(128) : Actual location (location was relayed)
Last leak repeated 2 times
sybase.c(928) : Freeing 0x08240FD0 (12 bytes),
script=/home/www/htdocs/htdocs2/test.php
Last leak repeated 42 times
sybase.c(933) : Freeing 0x08240F90 (12 bytes),
script=/home/www/htdocs/htdocs2/test.php
zend_variables.c(128) : Actual location (location was relayed)
Last leak repeated 41 times
zend_execute.c(322) : Freeing 0x0823FD48 (9 bytes),
script=/home/www/htdocs/htdocs2/test.php
zend_variables.c(128) : Actual location (location was relayed)
Last leak repeated 2 times
for beta2, actual line numers are in the log.. here is an example (from
machine with 4meg errorlog):
Wed Nov 24 02:52:04 1999] [notice] Apache/1.3.9 (Unix) PHP/4.0B2
configured -- resuming normal operations
/home/dev/public_html/admin/nav_administrating.php: Freeing 0x08188630 (4
bytes), allocated in zend_hash.c on line 185<b$
/home/dev/public_html/admin/nav_administrating.php: Last leak repeated 11
times
/home/dev/public_html/admin/nav_administrating.php: Freeing 0x081885E0 (40
bytes), allocated in zend_hash.c on line 175<$
/home/dev/public_html/admin/nav_administrating.php: Last leak repeated 11
times
/home/dev/public_html/admin/nav_administrating.php: Freeing 0x0818A700 (35
bytes), allocated in zend_hash.c on line 380<$
/home/dev/public_html/admin/nav_administrating.php: Last leak repeated 1
time
/home/dev/public_html/admin/nav_administrating.php: Freeing 0x0818BFB0 (20
bytes), allocated in sybase.c on line 925<br>
/home/dev/public_html/admin/nav_administrating.php: Last leak repeated 1
time
/home/dev/public_html/admin/nav_administrating.php: Freeing 0x0818BE10 (29
bytes), allocated in zend_variables.c on line$
/home/dev/public_html/admin/nav_administrating.php: Last leak repeated 1
time
/home/dev/public_html/admin/nav_administrating.php: Freeing 0x081874C8 (4
bytes), allocated in zend_hash.c on line 391<b$
/home/dev/public_html/admin/nav_administrating.php: Last leak repeated 1
time
/home/dev/public_html/admin/fields_anlegen.php: Freeing 0x081862D8 (4
bytes), allocated in zend_hash.c on line 185<br>
/home/dev/public_html/admin/fields_anlegen.php: Last leak repeated 5 times
/home/dev/public_html/admin/fields_anlegen.php: Freeing 0x08186280 (45
bytes), allocated in zend_hash.c on line 175<br>
/home/dev/public_html/admin/fields_anlegen.php: Last leak repeated 5 times
/home/dev/public_html/admin/fields_anlegen.php: Freeing 0x0818A108 (5
bytes), allocated in zend_variables.c on line 120<$
/home/dev/public_html/admin/fields_anlegen.php: Last leak repeated 3 times
/home/dev/public_html/admin/fields_anlegen.php: Freeing 0x08189EE8 (35
bytes), allocated in zend_hash.c on line 380<br>
/home/dev/public_html/admin/fields_anlegen.php: Last leak repeated 3 times
an exact example of what happens in the 'garbage effect' can be seen at
http://193.203.167.60:81/sybase.php (this is now
accessible thies ;)
any other information required can be supplied..
thanks for your time..
harold