From:             
Operating system: Linux
PHP version:      5.4.0RC7
Package:          Scripting Engine problem
Bug Type:         Bug
Bug description:GC not called prior to memory exhausted error

Description:
------------
This affects all versions of PHP. In a script that is about to run out of
memory, gc_collect_cycles() should be called as this can sometimes prevent
the script from running out of memory.

Example:

I have a non-blocking server I wrote in PHP. If there are several thousand
connections, the script will run out of memory. However, if the exact same
script with the exact same load (using apache benchmark) is run while
calling gc_collect_cycles() every half second, there are no out-of-memory
issues.

Test script:
---------------
The source code for PHP will reveal that garbage collection is not run as a
last ditch effort to continue execution within the memory constraints
specified by the user.

Expected result:
----------------
I expect PHP to run garbage collection when memory is nearly exhausted to
prevent a memory error.

Actual result:
--------------
PHP will exhaust memory even when it is not necessary for it to exhaust
memory.

-- 
Edit bug report at https://bugs.php.net/bug.php?id=60982&edit=1
-- 
Try a snapshot (PHP 5.4):            
https://bugs.php.net/fix.php?id=60982&r=trysnapshot54
Try a snapshot (PHP 5.3):            
https://bugs.php.net/fix.php?id=60982&r=trysnapshot53
Try a snapshot (trunk):              
https://bugs.php.net/fix.php?id=60982&r=trysnapshottrunk
Fixed in SVN:                        
https://bugs.php.net/fix.php?id=60982&r=fixed
Fixed in SVN and need be documented: 
https://bugs.php.net/fix.php?id=60982&r=needdocs
Fixed in release:                    
https://bugs.php.net/fix.php?id=60982&r=alreadyfixed
Need backtrace:                      
https://bugs.php.net/fix.php?id=60982&r=needtrace
Need Reproduce Script:               
https://bugs.php.net/fix.php?id=60982&r=needscript
Try newer version:                   
https://bugs.php.net/fix.php?id=60982&r=oldversion
Not developer issue:                 
https://bugs.php.net/fix.php?id=60982&r=support
Expected behavior:                   
https://bugs.php.net/fix.php?id=60982&r=notwrong
Not enough info:                     
https://bugs.php.net/fix.php?id=60982&r=notenoughinfo
Submitted twice:                     
https://bugs.php.net/fix.php?id=60982&r=submittedtwice
register_globals:                    
https://bugs.php.net/fix.php?id=60982&r=globals
PHP 4 support discontinued:          
https://bugs.php.net/fix.php?id=60982&r=php4
Daylight Savings:                    https://bugs.php.net/fix.php?id=60982&r=dst
IIS Stability:                       
https://bugs.php.net/fix.php?id=60982&r=isapi
Install GNU Sed:                     
https://bugs.php.net/fix.php?id=60982&r=gnused
Floating point limitations:          
https://bugs.php.net/fix.php?id=60982&r=float
No Zend Extensions:                  
https://bugs.php.net/fix.php?id=60982&r=nozend
MySQL Configuration Error:           
https://bugs.php.net/fix.php?id=60982&r=mysqlcfg

Reply via email to