Comments (7)
This one can be fixed relatively easy, by checking for ASAN/TSAN/MSAN in the runner at run-time, as opposed to at compile time. #203 sent
I just realized we have a similar problem with the interceptors, which should be present in the non-asan build, and should not be present in the ASAN build. See https://github.com/google/centipede/blob/main/runner_interceptors.cc
The solution we use internally is to build the centipede runner with the correct sanitizer.
Not sure it easily apples to the OSS world
from centipede.
Thanks for the report. We'll investigate.
from centipede.
My guess, w/o actually checking yet...
In runner.cc
, inside SetLimits()
we have if constexpr (kCanUseRlimitAs) { ...
kCanUseRlimitAs
is supposed to be false when building with ASAN,
but it is computed via #ifndef ADDRESS_SANITIZER
, which is not what ASAN sets by default
(in google-internal environment it does, for historical reasons).
from centipede.
Thanks!
I guess I can verify this theory later today by manually setting ADDRESS_SANITIZER
to true
and re-run : )
from centipede.
In the OSS version, we build the centipede runner with the default bazel flags and then link this run-time against the target, asan or not. I.e. the runner will be the same, it will have ADDRESS_SANITIZER=0
.
So, I guess a better solution is to check for asan/tsan/msan at run-time as opposed to at-compile time. On it.
from centipede.
Thanks : )
I will test the new code today and keep everyone updated!
from centipede.
Just tested the latest code with a (short) experiment: It appears that the bug has been fixed : )
I will close this issue and update Centipede
in OSS-Fuzz
.
Thanks again!
from centipede.
Related Issues (20)
- An argument to customise the directory of crash reproducers HOT 2
- Creating work directory and corpus directory automatically. HOT 5
- Centipede eventually filling /dev/shm and crashing HOT 2
- `Centipede` cannot detect/report `AddressSanitizer ` errors HOT 4
- Would the be a chance to include *time* in the log messages? HOT 3
- conflict between Centipede's and ASAN's interceptors
- Bundle runtime dependencies? HOT 4
- --cxxopt=libc++ in .bazelrc? HOT 2
- build fails with '__builtin_ia32_crc32di' needs target feature sse4.2 HOT 3
- Produce a single .a for `fuzz_target_runner`. HOT 2
- How to give valid initial seed to fuzz a binary? HOT 2
- Does not build cleanly with `-Wsign-compare` HOT 2
- absl is too old for us in Chromium HOT 1
- libpng: Could not get PCTable HOT 4
- Compilation error HOT 2
- How to run tests with AddressSantizer? HOT 1
- May I contribute code to this repo? HOT 2
- Is there a way to disable the limit on the number of runs? HOT 3
- Would there be a file to record all the dependencies in a machine readable way? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from centipede.