aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatt C <mattz0rt@gmail.com>2019-10-01 16:00:40 -0400
committerMatt C <mattz0rt@gmail.com>2019-10-01 16:00:40 -0400
commit8eafa90105edff6400d09151e2c2b48444a37b28 (patch)
tree2e498372f3b9e3e7bbc6dfcad4a351e71571b152 /src
parent8e2ee30c47844241d0eb52e1f4e93b506e48c51f (diff)
downloadafl++-8eafa90105edff6400d09151e2c2b48444a37b28.tar.gz
Improved error messaging when unable to communicate with the fork server
Diffstat (limited to 'src')
-rw-r--r--src/afl-fuzz-run.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/afl-fuzz-run.c b/src/afl-fuzz-run.c
index 220433fc..c0fa928e 100644
--- a/src/afl-fuzz-run.c
+++ b/src/afl-fuzz-run.c
@@ -178,7 +178,16 @@ u8 run_target(char** argv, u32 timeout) {
if ((res = read(fsrv_st_fd, &status, 4)) != 4) {
if (stop_soon) return 0;
- RPFATAL(res, "Unable to communicate with fork server (OOM?)");
+ SAYF("\n" cLRD "[-] " cRST
+ "Unable to communicate with fork server. Some possible reasons:\n\n"
+ " - You've run out of memory. Use -m to increase the the memory limit\n"
+ " to something higher than %lld.\n"
+ " - The binary or one of the libraries it uses manages to create\n"
+ " threads before the forkserver initializes.\n"
+ " - The binary, at least in some circumstances, exits in a way that\n"
+ " also kills the parent process - raise() could be the culprit.\n\n"
+ "If all else fails you can disable the fork server via AFL_NO_FORKSRV=1.\n", mem_limit);
+ RPFATAL(res, "Unable to communicate with fork server");
}