Bug 934641 - Switch ASan tests to using the low-memory config instead of the mid-memory config, to work around intermittent OOM failures, r=philor
authorChristian Holler <choller@mozilla.com>
Thu, 14 Nov 2013 01:44:41 +0100
changeset 156211 95813fcf6a629fff1453e3f83eaa6285403521f1
parent 156210 e4b59fdbc9c2dfc8d28cdcdc2888bf4a21376826
child 156212 37153a22e87a76fbc4ba06c519bae30ba81dc0bf
push id36314
push userphilringnalda@gmail.com
push dateTue, 19 Nov 2013 04:27:39 +0000
treeherdermozilla-inbound@95813fcf6a62 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersphilor
bugs934641
milestone28.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 934641 - Switch ASan tests to using the low-memory config instead of the mid-memory config, to work around intermittent OOM failures, r=philor
build/automation.py.in
build/automationutils.py
--- a/build/automation.py.in
+++ b/build/automation.py.in
@@ -516,29 +516,22 @@ class Automation(object):
       llvmsym = os.path.join(xrePath, "llvm-symbolizer")
       if os.path.isfile(llvmsym):
         env["ASAN_SYMBOLIZER_PATH"] = llvmsym
         self.log.info("INFO | automation.py | ASan using symbolizer at %s", llvmsym)
 
       try:
         totalMemory = int(os.popen("free").readlines()[1].split()[1])
 
-        # Only 2 GB RAM or less available? Use custom ASan options to reduce
+        # Only 4 GB RAM or less available? Use custom ASan options to reduce
         # the amount of resources required to do the tests. Standard options 
         # will otherwise lead to OOM conditions on the current test slaves.
-        # 
-        # If we have more than 2 GB or RAM but still less than 4 GB, we need
-        # another set of options to prevent OOM in some memory-intensive
-        # tests.
-        if totalMemory <= 1024 * 1024 * 2:
+        if totalMemory <= 1024 * 1024 * 4:
           self.log.info("INFO | automation.py | ASan running in low-memory configuration")
-          env["ASAN_OPTIONS"] = "quarantine_size=50331648:redzone=64"
-        elif totalMemory <= 1024 * 1024 * 4:
-          self.log.info("INFO | automation.py | ASan running in mid-memory configuration")
-          env["ASAN_OPTIONS"] = "quarantine_size=100663296:redzone=64"
+          env["ASAN_OPTIONS"] = "quarantine_size=50331648"
         else:
           self.log.info("INFO | automation.py | ASan running in default memory configuration")
       except OSError,err:
         self.log.info("Failed determine available memory, disabling ASan low-memory configuration: %s", err.strerror)
       except:
         self.log.info("Failed determine available memory, disabling ASan low-memory configuration")
 
     return env
--- a/build/automationutils.py
+++ b/build/automationutils.py
@@ -452,30 +452,23 @@ def environment(xrePath, env=None, crash
       # Symbolizer support
       llvmsym = os.path.join(xrePath, "llvm-symbolizer")
       if os.path.isfile(llvmsym):
         env["ASAN_SYMBOLIZER_PATH"] = llvmsym
         log.info("ASan using symbolizer at %s", llvmsym)
 
       totalMemory = systemMemory()
 
-      # Only 2 GB RAM or less available? Use custom ASan options to reduce
+      # Only 4 GB RAM or less available? Use custom ASan options to reduce
       # the amount of resources required to do the tests. Standard options
       # will otherwise lead to OOM conditions on the current test slaves.
-      #
-      # If we have more than 2 GB or RAM but still less than 4 GB, we need
-      # another set of options to prevent OOM in some memory-intensive
-      # tests.
       message = "INFO | runtests.py | ASan running in %s configuration"
-      if totalMemory <= 1024 * 1024 * 2:
+      if totalMemory <= 1024 * 1024 * 4:
         message = message % 'low-memory'
-        env["ASAN_OPTIONS"] = "quarantine_size=50331648:redzone=64"
-      elif totalMemory <= 1024 * 1024 * 4:
-        message = message % 'mid-memory'
-        env["ASAN_OPTIONS"] = "quarantine_size=80530636:redzone=64"
+        env["ASAN_OPTIONS"] = "quarantine_size=50331648"
       else:
         message = message % 'default memory'
     except OSError,err:
       log.info("Failed determine available memory, disabling ASan low-memory configuration: %s", err.strerror)
     except:
       log.info("Failed determine available memory, disabling ASan low-memory configuration")
     else:
       log.info(message)