about summary refs log tree commit diff
path: root/docs/FAQ.md
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2022-01-13 12:15:19 +0100
committervanhauser-thc <vh@thc.org>2022-01-13 12:29:49 +0100
commit8f7e584b82e14eced00e7bd3f8c0eaf041263e12 (patch)
tree14b1061a26fccca02d58ffffd564c44b7f949a4f /docs/FAQ.md
parentf6c08c3a1c2a6f2a9d691fc6bd7aeaa5367745a1 (diff)
downloadafl++-8f7e584b82e14eced00e7bd3f8c0eaf041263e12.tar.gz
more faq
Diffstat (limited to 'docs/FAQ.md')
-rw-r--r--docs/FAQ.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/docs/FAQ.md b/docs/FAQ.md
index 90cae453..73328d6e 100644
--- a/docs/FAQ.md
+++ b/docs/FAQ.md
@@ -204,6 +204,31 @@ If you find an interesting or important question missing, submit it via
 ## Troubleshooting
 
 <details>
+  <summary id="fatal-forkserver-is-already-up-but-an-instrumented-dlopen-library-loaded-afterwards">FATAL: forkserver is already up but an instrumented dlopen library loaded afterwards</summary><p>
+
+  It can happen that you see this error on startup when fuzzing a target:
+
+  ```
+  [-] FATAL: forkserver is already up, but an instrumented dlopen() library
+             loaded afterwards. You must AFL_PRELOAD such libraries to be able
+             to fuzz them or LD_PRELOAD to run outside of afl-fuzz.
+             To ignore this set AFL_IGNORE_PROBLEMS=1.
+  ```
+
+  As the error describes, a dlopen() call is happening in the target that is loading an instrumented library after the forkserver is already in place,
+  This is a problem for afl-fuzz because when the forkserver is started we must know the map size already and it can't be changed later.
+
+  The best solution is to simply set `AFL_PRELOAD=foo.so` the libraries that
+  are dlopen'ed (e.g. use `strace` to see which), or to set a manual forkserver
+  after the final dlopen().
+
+  If this is not a viable option you can set `AFL_IGNORE_PROBLEMS=1` but then
+  the existing map will be used also for the newly loaded libraries, which
+  allows it to work, however the efficiency of the fuzzing will be partially
+  degraded.
+</p></details>
+
+<details>
   <summary id="i-got-a-weird-compile-error-from-clang">I got a weird compile error from clang.</summary><p>
 
   If you see this kind of error when trying to instrument a target with