envoyproxy/envoy
View on GitHubUBSAN violation in ZlibCompressorImplTest.CallingChecksum
Open
#6,085 opened on Feb 27, 2019
bughelp wanted
Repository metrics
- Stars
- (27,997 stars)
- PR merge metrics
- (Avg merge 8d) (378 merged PRs in 30d)
Description
Plumbing ASAN/UBSAN down to zlib in #6061 yields traces such as:
[ RUN ] ZlibCompressorImplTest.CallingChecksum
/build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_madler_zlib/trees.c:873:42: runtime error: null pointer passed as argument 2, which is declared to never be null
/usr/include/string.h:43:28: note: nonnull attribute specified here
#0 0x1b71dd9 in _tr_stored_block /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_madler_zlib/trees.c:873:5
#1 0x1b4dc71 in deflate /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_madler_zlib/deflate.c:1025:17
#2 0x1b2deb1 in Envoy::Compressor::ZlibCompressorImpl::deflateNext(long) /proc/self/cwd/source/common/compressor/zlib_compressor_impl.cc:59:22
#3 0x1b2da8f in Envoy::Compressor::ZlibCompressorImpl::process(Envoy::Buffer::Instance&, long) /proc/self/cwd/source/common/compressor/zlib_compressor_impl.cc:78:10
#4 0x1b2d8d4 in Envoy::Compressor::ZlibCompressorImpl::compress(Envoy::Buffer::Instance&, Envoy::Compressor::State) /proc/self/cwd/source/common/compressor/zlib_compressor_impl.cc:55:3
#5 0x1a6faf0 in Envoy::Compressor::(anonymous namespace)::ZlibCompressorImplTester::compressThenFlush(Envoy::Buffer::OwnedImpl&) /proc/self/cwd/test/common/compressor/zlib_compressor_impl_test.cc:75:55
#6 0x1a7075b in Envoy::Compressor::(anonymous namespace)::ZlibCompressorImplTest_CallingChecksum_Test::TestBody() /proc/self/cwd/test/common/compressor/zlib_compressor_impl_test.cc:132:14
#7 0x478273e in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2424:10
#8 0x473ceff in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2460:14
#9 0x46f438b in testing::Test::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2499:5
#10 0x46f6b56 in testing::TestInfo::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2675:11
#11 0x46f86a0 in testing::TestSuite::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2803:28
#12 0x472012e in testing::internal::UnitTestImpl::RunAllTests() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:5241:44
#13 0x479254e in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2424:10
#14 0x474704f in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:2460:14
#15 0x471f116 in testing::UnitTest::Run() /proc/self/cwd/external/com_google_googletest/googletest/src/gtest.cc:4843:10
#16 0x1b94866 in RUN_ALL_TESTS() /proc/self/cwd/external/com_google_googletest/googletest/include/gtest/gtest.h:2499:46
#17 0x1b93a5e in Envoy::TestRunner::RunTests(int, char**) /proc/self/cwd/./test/test_runner.h:57:12
#18 0x1b918b5 in main /proc/self/cwd/test/main.cc:39:10
#19 0x7f49e863282f in __libc_start_main /build/glibc-Cl5G7W/glibc-2.23/csu/../csu/libc-start.c:291
#20 0x1991028 in _start (/build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/bazel-out/k8-dbg/bin/test/common/compressor/compressor_test+0x1991028)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /build/tmp/_bazel_bazel/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/external/com_github_madler_zlib/trees.c:873:42 in
Weirdly, in https://circleci.com/gh/envoyproxy/envoy/172899?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link, this didn't seem to cause any test failure, the respective test silently passed.