-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable undefined sanitizer by default #234
Comments
Hard to say. Some projects may run away screaming if we start spamming them with int overflows. Is it possible to enable ubsan by default for every project, but somehow limit the number of ubsan-ish reports filed at one time per project (per target)? |
We can enforce a limit, but it has to be manually enforced in job type (using MAX_STORED_CRASHES env variable, we were thinking to remove it, but maybe we will keep that env variable around, @tanin47 fyi). Given our 50 project list, it is hard to enable one by one. Our testcase deduplication algorithm will be put to good test, but we do combine similar looking stacks together. If things go out of control, we can always delete a job type. Basically lets just make sure we have a strategy to disable this per project. |
👍 on enabling it by default, it will find bugs, and individual projects can turn it off if they don't like it. More secure results should be the default :-) |
Could there be some way of enabling some/most UBsan options on a project specific basis, or a fuzzer specific basis? I ask because Botan's BER decoder triggers I am already planning on rewriting this ASN.1 sub-lib completely in the next year or so, so this is a short term problem, but I would hate to be spammed with many duplicate bugs in the mean time. Or maybe the deduplicator will handle everything fine, it seems pretty good. I suppose the answer is turn it on and find out. :) |
freetype allegedly has lots of integer overflows #234
Doesn't build because of: clang-5.0: error: invalid argument '-fsanitize=vptr' not allowed with '-fno-rtti' #234
Reason: compilation error. clang-5.0: error: invalid argument '-fsanitize=vptr' not allowed with '-fno-rtti' #234
Reason: fails to build. �[1m/src/icu/source/common/unicode/stringtriebuilder.h:310:46:�[1m�[31m runtime error: �[1m�[0m�[1msigned integer overflow: 124151392 * 37 cannot be represented in type 'int'�[1m�[0m Makefile:566: recipe for target 'out/build/icudt59l/brkitr/burmesedict.dict' failed #234
This PR supports `gemini-experimental`, which appears to work well in some cases. Comparison experiment plan: 1. Compare `gemini-experimental` against our default `code-bison-32k` with the same temperature `0.4`. 2. Run `gemini-experimental` with its default temperature `1`.
@kcc @inferno-chromium do you think we want this or should we continue enabling undefined sanitizer project-by-project?
The text was updated successfully, but these errors were encountered: