-
Notifications
You must be signed in to change notification settings - Fork 109
Description
Hi, I am running Magma for aflplusplus with all programs.
When I try to use
tools/benchd/exp2json.py tools/captain/workdir3 bugs_rest.json to generate summary,
I encountered following errors:
WARNING:root:aflplusplus/poppler/pdf_fuzzer/0 contains no monitor logs. Check the corresponding campaign log file for more information: tools/captain/workdir3/log/aflplusplus_poppler_pdf_fuzzer_0_container.log
WARNING:root:aflplusplus/poppler/pdf_fuzzer/8 contains no monitor logs. Check the corresponding campaign log file for more information: tools/captain/workdir3/log/aflplusplus_poppler_pdf_fuzzer_8_container.log
ERROR:root:Encountered exception when processing aflplusplus/poppler/pdf_fuzzer/0. Details: "None of ['TIME'] are in the columns"
Traceback (most recent call last):
File "/home/jingzhijiang/magma/tools/benchd/exp2json.py", line 152, in process_one_campaign
df = generate_monitor_df(os.path.join(dumpdir, "monitor"), path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jingzhijiang/magma/tools/benchd/exp2json.py", line 130, in generate_monitor_df
df.set_index('TIME', inplace=True)
File "/home/jingzhijiang/miniconda3/lib/python3.12/site-packages/pandas/core/frame.py", line 6129, in set_index
raise KeyError(f"None of {missing} are in the columns")
KeyError: "None of ['TIME'] are in the columns"
ERROR:root:Encountered exception when processing aflplusplus/poppler/pdf_fuzzer/8. Details: "None of ['TIME'] are in the columns"
Traceback (most recent call last):
File "/home/jingzhijiang/magma/tools/benchd/exp2json.py", line 152, in process_one_campaign
df = generate_monitor_df(os.path.join(dumpdir, "monitor"), path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/jingzhijiang/magma/tools/benchd/exp2json.py", line 130, in generate_monitor_df
df.set_index('TIME', inplace=True)
File "/home/jingzhijiang/miniconda3/lib/python3.12/site-packages/pandas/core/frame.py", line 6129, in set_index
raise KeyError(f"None of {missing} are in the columns")
KeyError: "None of ['TIME'] are in the columns"
And my monitor/ for some of my run is empty. How should I resolve this?
Here is my captainrc file:
# Bash syntax and is sourced by the script to access the variables. Variables
# are mandatory unless marked with [brackets].
###
## Configuration parameters
###
# WORKDIR: path to directory where shared volumes will be created
WORKDIR=./workdir3
# REPEAT: number of campaigns to run per program (per fuzzer)
REPEAT=10
# [WORKER_MODE]: defines the type of CPU resources to allocate (default: 1)
# - 1: logical cores (possibly SMT-enabled)
# - 2: physical cores
# - 3: physical sockets (1 worker per CPU socket)
# WORKER_MODE=1
# [WORKERS]: number of worker threads (default: all cores)
WORKERS=100
# [WORKER_POOL]: a space-separated list of logical cores to allocate
# WORKER_POOL="1 3 5 7 9"
# [CAMPAIGN_WORKERS]: number of workers to allocate for a campaign (default: 1)
# CAMPAIGN_WORKERS=1
# [TIMEOUT]: time to run each campaign. This variable supports one-letter
# suffixes to indicate duration (s: seconds, m: minutes, h: hours, d: days)
# (default: 1m)
TIMEOUT=24h
# [POLL]: time (in seconds) between polls (default: 5)
POLL=5
# [CACHE_ON_DISK]: if set, the cache workdir is mounted on disk instead of
# in-memory (default: unset)
# CACHE_ON_DISK=1
# [NO_ARCHIVE]: if set, campaign workdirs will not be tarballed (default: unset)
# NO_ARCHIVE=1
# [TMPFS_SIZE]: the size of the tmpfs mounted volume. This only applies when
# CACHE_ON_DISK is not set (default: 50g)
# TMPFS_SIZE=16g
# [MAGMA]: path to magma root (default: ../../)
# MAGMA=/path/to/magma/
# [CANARY_MODE]: defines the mode of canaries at compile time (default: 1)
# - 1: without fixes, with canaries
# - 2: without fixes, without canaries
# - 3: with fixes, without canaries
# CANARY_MODE=3
# [ISAN]: if set, build the benchmark with ISAN/fatal canaries (default: unset)
# ISAN=1
# [HARDEN]: if set, build the benchmark with hardened canaries (default: unset)
# HARDEN=1
# [POC_EXTRACT]: if set, run the extract.sh script after the campaign is done
# (default: unset)
# POC_EXTRACT=1
###
## Campaigns to run
###
# FUZZERS: an array of fuzzer names (from magma/fuzzers/*) to evaluate
FUZZERS=(aflplusplus)
# [fuzzer_TARGETS]: an array of target names (from magma/targets/*) to fuzz with
# `fuzzer`. The `fuzzer` prefix is a fuzzer listed in the FUZZERS array
# (default: all targets)
# afl_TARGETS=(libpng libtiff libxml2)
aflplusplus_TARGETS=(php poppler sqlite3)
# [fuzzer_target_PROGRAMS]: an array of program names (from
# magma/targets/target/configrc) to use as execution drivers when fuzzing the
# `target`
# afl_libtiff_PROGRAMS=(tiffcp)
# [fuzzer_target_FUZZARGS]: a string containing fuzzer/target-specific arguments
# when fuzzing `target` with `fuzzer`
# afl_libpng_FUZZARGS="-x /magma_shared/png.dict"
# [fuzzer_CAMPAIGN_WORKERS]: overrides the global CAMPAIGN_WORKERS setting
# afl_CAMPAIGN_WORKERS=3```