-
Notifications
You must be signed in to change notification settings - Fork 2.5k
envoy: prevent building with none sanitizer #9719
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
envoy: prevent building with none sanitizer #9719
Conversation
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
|
Hi! The "none" sanitizer is required for fuzzing engines such as https://github.com/google/centipede. Is there a way to make that work? |
Our fuzzing build is currently broken when running in this mode: It will take some time to track why the linking is incorrect when there is no fuzzing library. I think we can merge this PR, and open another issue tracking why the build failed. |
In PR #9719 I accidentally added the memory sanitizer, which brakes the oss-fuzz build: ``` Step #23 - "compile-libfuzzer-memory-x86_64": ld.lld: error: undefined symbol: __msan_param_tls Step #23 - "compile-libfuzzer-memory-x86_64": >>> referenced by gtest-internal.h:522 (external/com_google_googletest/googletest/include/gtest/internal/gtest-internal.h:522) Step #23 - "compile-libfuzzer-memory-x86_64": >>> bazel-out/k8-fastbuild-ST-d2373e19ffe2/bin/test/common/router/_objs/config_impl_test_lib/config_impl_test.pic.o:(testing::internal::SuiteApiResolver<Envoy::Router::(anonymous namespace)::RouteMatcherTest>::GetSetUpCaseOrSuite(char const*, int)) Step #23 - "compile-libfuzzer-memory-x86_64": >>> referenced by gtest-internal.h:543 (external/com_google_googletest/googletest/include/gtest/internal/gtest-internal.h:543) Step #23 - "compile-libfuzzer-memory-x86_64": >>> bazel-out/k8-fastbuild-ST-d2373e19ffe2/bin/test/common/router/_objs/config_impl_test_lib/config_impl_test.pic.o:(testing::internal::SuiteApiResolver<Envoy::Router::(anonymous namespace)::RouteMatcherTest>::GetTearDownCaseOrSuite(char const*, int)) Step #23 - "compile-libfuzzer-memory-x86_64": >>> referenced by gtest-internal.h:522 (external/com_google_googletest/googletest/include/gtest/internal/gtest-internal.h:522) Step #23 - "compile-libfuzzer-memory-x86_64": >>> bazel-out/k8-fastbuild-ST-d2373e19ffe2/bin/test/common/router/_objs/config_impl_test_lib/config_impl_test.pic.o:(testing::internal::SuiteApiResolver<Envoy::Router::(anonymous namespace)::HeaderTransformsDoFormattingTest>::GetSetUpCaseOrSuite(char const*, int)) Step #23 - "compile-libfuzzer-memory-x86_64": >>> referenced 377754 more times ``` This PR keeps the address and undefined sanitizer. Signed-off-by: Adi Suissa-Peleg <adip@google.com>
PR google#9653 added a "none" sanitizer that broke Envoy's build. This PR explicitly lists the allowed sanitizers (address, memory, and undefined). Signed-off-by: Adi Suissa-Peleg <adip@google.com>
In PR google#9719 I accidentally added the memory sanitizer, which brakes the oss-fuzz build: ``` Step google#23 - "compile-libfuzzer-memory-x86_64": ld.lld: error: undefined symbol: __msan_param_tls Step google#23 - "compile-libfuzzer-memory-x86_64": >>> referenced by gtest-internal.h:522 (external/com_google_googletest/googletest/include/gtest/internal/gtest-internal.h:522) Step google#23 - "compile-libfuzzer-memory-x86_64": >>> bazel-out/k8-fastbuild-ST-d2373e19ffe2/bin/test/common/router/_objs/config_impl_test_lib/config_impl_test.pic.o:(testing::internal::SuiteApiResolver<Envoy::Router::(anonymous namespace)::RouteMatcherTest>::GetSetUpCaseOrSuite(char const*, int)) Step google#23 - "compile-libfuzzer-memory-x86_64": >>> referenced by gtest-internal.h:543 (external/com_google_googletest/googletest/include/gtest/internal/gtest-internal.h:543) Step google#23 - "compile-libfuzzer-memory-x86_64": >>> bazel-out/k8-fastbuild-ST-d2373e19ffe2/bin/test/common/router/_objs/config_impl_test_lib/config_impl_test.pic.o:(testing::internal::SuiteApiResolver<Envoy::Router::(anonymous namespace)::RouteMatcherTest>::GetTearDownCaseOrSuite(char const*, int)) Step google#23 - "compile-libfuzzer-memory-x86_64": >>> referenced by gtest-internal.h:522 (external/com_google_googletest/googletest/include/gtest/internal/gtest-internal.h:522) Step google#23 - "compile-libfuzzer-memory-x86_64": >>> bazel-out/k8-fastbuild-ST-d2373e19ffe2/bin/test/common/router/_objs/config_impl_test_lib/config_impl_test.pic.o:(testing::internal::SuiteApiResolver<Envoy::Router::(anonymous namespace)::HeaderTransformsDoFormattingTest>::GetSetUpCaseOrSuite(char const*, int)) Step google#23 - "compile-libfuzzer-memory-x86_64": >>> referenced 377754 more times ``` This PR keeps the address and undefined sanitizer. Signed-off-by: Adi Suissa-Peleg <adip@google.com>
PR #9653 added a "none" sanitizer that broke Envoy's build.
This PR explicitly lists the allowed sanitizers (address, memory, and undefined).