ID: 36724
Updated by: [EMAIL PROTECTED]
Reported By: mberg at synacor dot com
-Status: Open
+Status: Feedback
Bug Type: Apache related
Operating System: Red Hat Linux 7.2 (ish)
PHP Version: 4.4.2
Assigned To: tony2001
New Comment:
I still don't get it.
Did you test it? Does it work for you?
The current way is to zero twice:
1) it in the beginning of the request, when memory manager starts.
2) in the end of the request, when memory manager goes down.
What makes you think it's wrong if you didn't even test it?
Previous Comments:
------------------------------------------------------------------------
[2006-03-15 17:28:40] mberg at synacor dot com
I meant that the problem described in #35646 was fixed (or perhaps was
never broken?) in Apache 1.x. If you look at sapi/apache/mod_php4.c,
allocated_memory_peak is zeroed after it's retrieved:
mem_usage = ap_psprintf(r->pool, "%u",
AG(allocated_memory_peak));
AG(allocated_memory_peak) = 0;
ap_table_setn(r->notes, "mod_php_memory_usage",
mem_usage);
The patch I submitted alters the similar code in
apache2handler/sapi_apache2.c to zero it out there, instead of
Zend/zend_alloc.c, since that's zeroing it before the apache variable
is set.
------------------------------------------------------------------------
[2006-03-15 17:00:50] [EMAIL PROTECTED]
>That sounds like you're testing with 2.x.
Apparently yes, sapi/apache2handler is for Apache2.
>My installation is 1.x.
Then your report doesn't make any sense to me.
You've said that it's fixed for Apache 1.x or what did you mean by
that?
------------------------------------------------------------------------
[2006-03-15 16:04:17] mberg at synacor dot com
That sounds like you're testing with 2.x. My installation is 1.x. Not
sure if you have memory_limit set in php.ini, but that's required for
this to show up as well.
------------------------------------------------------------------------
[2006-03-15 15:12:39] [EMAIL PROTECTED]
I can't reproduce it with both prefork and threaded MPM.
------------------------------------------------------------------------
[2006-03-13 20:54:44] mberg at synacor dot com
Description:
------------
The fix for bug #35646 results in mod_php_memory_usage always being set
to 0. The proper fix seems to already be implemented in the Apache 1.x
handler, so it should just be a matter of rolling back the broken fix
and copying the right one into the apache2handler.
<pre>
diff -u2 -r php-4.4.2.orig/Zend/zend_alloc.c
php-4.4.2/Zend/zend_alloc.c
--- php-4.4.2.orig/Zend/zend_alloc.c Sun Jan 1 08:46:49 2006
+++ php-4.4.2/Zend/zend_alloc.c Fri Mar 10 16:59:18 2006
@@ -539,5 +539,4 @@
#if MEMORY_LIMIT
AG(memory_exhausted)=0;
- AG(allocated_memory_peak) = 0;
#endif
diff -u2 -r php-4.4.2.orig/sapi/apache2handler/sapi_apache2.c
php-4.4.2/sapi/apache2handler/sapi_apache2.c
--- php-4.4.2.orig/sapi/apache2handler/sapi_apache2.c Sun Jan 1
08:47:01 2006
+++ php-4.4.2/sapi/apache2handler/sapi_apache2.c Mon Mar 13
14:47:52 2006
@@ -588,4 +588,5 @@
mem_usage = apr_psprintf(ctx->r->pool, "%u",
AG(allocated_memory_peak));
+ AG(allocated_memory_peak) = 0;
apr_table_set(r->notes, "mod_php_memory_usage",
mem_usage);
</pre>
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=36724&edit=1