ID:               13437
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Bogus
 Bug Type:         Reproducible crash
 Operating System: Linux & Solaris
 PHP Version:      4.1RC5
 New Comment:

The version of PHP that this bug was reported in is too old. Please
try to reproduce this bug in the latest version of PHP (available
from http://www.php.net/downloads.php

If you are still able to reproduce the bug with one of the latest
versions of PHP, please change the PHP version on this bug report
to the version you tested and change the status back to "Open".


Previous Comments:
------------------------------------------------------------------------

[2001-12-11 09:51:44] [EMAIL PROTECTED]

I tried using apache_child_terminate() as suggested, however, this
doesn't help any. (It might be beneficial if this function and its
required configuration option were documented somewhere.)

------------------------------------------------------------------------

[2001-12-10 22:32:39] [EMAIL PROTECTED]

Could you try calling apache_child_terminate() at the end 
of your script?


------------------------------------------------------------------------

[2001-12-04 10:54:55] [EMAIL PROTECTED]

This helps with my problem of apache children being left in unusable
states with large memory allocations. However, it is still entirely
unreasonable that memory that takes only a few seconds to allocate
should need several minutes to be disposed of. I just watched PHP take
*six* minutes to dispose of 70 megs of memory it allocated, and on
prior occasions when no one was watching, I've found it to have be
running for *hours* cleaning up after itself.

------------------------------------------------------------------------

[2001-12-03 17:46:34] [EMAIL PROTECTED]

I've seen this as well. The time limit you set is removed
when the script finishes but before the memory is cleaned
up. What I did to avoid the problem was to change the code
in php_request_shutdown() main/main.c. The end of the function looks
like:

zend_try { 
        shutdown_memory_manager(CG(unclean_shutdown), 0);
} zend_end_try();

zend_try { 
        zend_unset_timeout(TSRMLS_C);
} zend_end_try();

I switched the timeout and the shutdown, and then it worked
for me. It still takes a long time, but you don't get a
timeout. Not sure if this is the correct fix, but maybe
you want to test and confirm that it helps?


------------------------------------------------------------------------

[2001-12-03 15:58:46] [EMAIL PROTECTED]

This problem is still happening on 4.1RC5, though it seems to be doing
a little better than before. However it's also ignoring the time value
I'm passing in to set_time_limit(), but only when it runs out of time
during clean-up.

#0  0x8107f05 in _efree (ptr=0xa62065c) at zend_alloc.c:240
240             REMOVE_POINTER_FROM_LIST(p);
(gdb) bt
#0  0x8107f05 in _efree (ptr=0xa62065c) at zend_alloc.c:240
#1  0x810829b in shutdown_memory_manager (silent=1, clean_cache=1) at
zend_alloc.c:469
#2  0x807169e in php_module_shutdown () at main.c:1007
#3  0x8070239 in main (argc=3, argv=0xbffffc44) at cgi_main.c:788


------------------------------------------------------------------------

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/13437

-- 
Edit this bug report at http://bugs.php.net/?id=13437&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to