aboutsummaryrefslogtreecommitdiff
path: root/src/benchmark.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/benchmark.py')
-rw-r--r--src/benchmark.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/benchmark.py b/src/benchmark.py
index 798cbd6..f2aa8a3 100644
--- a/src/benchmark.py
+++ b/src/benchmark.py
@@ -345,6 +345,7 @@ class Benchmark:
env = dict(os.environ)
env["LD_PRELOAD"] = env.get("LD_PRELOAD", "")
env["LD_PRELOAD"] += " " + f"{src.globalvars.builddir}/print_status_on_exit.so"
+ env["LD_PRELOAD"] += " " + f"{src.globalvars.builddir}/abort_handler.so"
env["LD_PRELOAD"] += " " + alloc["LD_PRELOAD"]
if "LD_LIBRARY_PATH" in alloc:
@@ -406,7 +407,10 @@ class Benchmark:
result = {}
- if res.returncode != 0 or "ERROR: ld.so" in res.stderr or "Segmentation fault" in res.stderr:
+ if any([res.returncode != 0,
+ "ERROR: ld.so" in res.stderr,
+ "Segmentation fault" in res.stderr,
+ os.path.exists("aborted")]):
print()
print_debug("Stdout:\n" + res.stdout)
print_debug("Stderr:\n" + res.stderr)
@@ -414,6 +418,8 @@ class Benchmark:
print_error("{} failed with exit code {} for {}".format(argv, res.returncode, alloc_name))
elif "ERROR: ld.so" in res.stderr:
print_error("Preloading of {} failed for {}".format(alloc["LD_PRELOAD"], alloc_name))
+ elif os.path.exists("aborted"):
+ os.remove("aborted")
# parse and store results
else: