Git Product home page Git Product logo

Comments (7)

kcc avatar kcc commented on May 7, 2024 1

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.

ussuri avatar ussuri commented on May 7, 2024

Thanks for the report. We'll investigate.

from centipede.

kcc avatar kcc commented on May 7, 2024

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.

Alan32Liu avatar Alan32Liu commented on May 7, 2024

Thanks!
I guess I can verify this theory later today by manually setting ADDRESS_SANITIZER to true and re-run : )

from centipede.

kcc avatar kcc commented on May 7, 2024

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.

Alan32Liu avatar Alan32Liu commented on May 7, 2024

Thanks : )
I will test the new code today and keep everyone updated!

from centipede.

Alan32Liu avatar Alan32Liu commented on May 7, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.