[ros-diffs] [cfinck] 40335: Add a reasonable memory limit for a test result log, so the script doesn't exceed PHP's memory limit in case of bloated logs Uses memory_get_usage(), so the script needs PHP >= 5.2

cfinck at svn.reactos.org cfinck at svn.reactos.org
Thu Apr 2 21:15:07 CEST 2009


Author: cfinck
Date: Thu Apr  2 23:15:06 2009
New Revision: 40335

URL: http://svn.reactos.org/svn/reactos?rev=40335&view=rev
Log:
Add a reasonable memory limit for a test result log, so the script doesn't exceed PHP's memory limit in case of bloated logs
Uses memory_get_usage(), so the script needs PHP >= 5.2

Modified:
    branches/danny-web/reactos.org/htdocs/testman/webservice/buildbot_aggregator.php
    branches/danny-web/reactos.org/htdocs/testman/webservice/config.inc.php

Modified: branches/danny-web/reactos.org/htdocs/testman/webservice/buildbot_aggregator.php
URL: http://svn.reactos.org/svn/reactos/branches/danny-web/reactos.org/htdocs/testman/webservice/buildbot_aggregator.php?rev=40335&r1=40334&r2=40335&view=diff
==============================================================================
--- branches/danny-web/reactos.org/htdocs/testman/webservice/buildbot_aggregator.php [iso-8859-1] (original)
+++ branches/danny-web/reactos.org/htdocs/testman/webservice/buildbot_aggregator.php [iso-8859-1] Thu Apr  2 23:15:06 2009
@@ -93,6 +93,14 @@
 				break;
 			
 			$log .= $line;
+			
+			// We can easily exceed PHP's memory limit here in case we're reading a bloated log
+			// Stop in this case
+			if(memory_get_usage() > MAX_MEMORY)
+			{
+				$log .= "[TESTMAN] Maximum memory for log exceeded, aborting!";
+				break;
+			}
 		}
 		while(strpos($line, " tests executed (") === false &&	substr($line, 0, 9) != "[SYSREG] " &&	!feof($fp));
 		

Modified: branches/danny-web/reactos.org/htdocs/testman/webservice/config.inc.php
URL: http://svn.reactos.org/svn/reactos/branches/danny-web/reactos.org/htdocs/testman/webservice/config.inc.php?rev=40335&r1=40334&r2=40335&view=diff
==============================================================================
--- branches/danny-web/reactos.org/htdocs/testman/webservice/config.inc.php [iso-8859-1] (original)
+++ branches/danny-web/reactos.org/htdocs/testman/webservice/config.inc.php [iso-8859-1] Thu Apr  2 23:15:06 2009
@@ -7,4 +7,11 @@
 */
 
 	define("TESTMAN_PATH", "../");
+	
+	// Ensure we don't get bloated logs or even exceed PHP's memory limit
+	// by defining a maximum amount of memory, which may be allocated by the
+	// aggregator script
+	// NOTE: The aggregator script allocates memory per test result, so this
+	// has no effect on the total log size
+	define("MAX_MEMORY", 500000);
 ?>



More information about the Ros-diffs mailing list