eugenis added a comment.

Hi Sam,

this patch is failing on the ubsan bot with:

[ RUN      ] SerializationTest.NoCrashOnBadArraySize
/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang-tools-extra/clangd/index/Serialization.cpp:90:26:
 runtime error: left shift of 127 by 28 places cannot be represented in type 
'int'

  #0 0x392dd57 in clang::clangd::(anonymous namespace)::Reader::consumeVar() 
/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang-tools-extra/clangd/index/Serialization.cpp:90:26
  #1 0x392dc68 in bool clang::clangd::(anonymous 
namespace)::Reader::consumeSize<std::__1::vector<llvm::StringRef, 
std::__1::allocator<llvm::StringRef> > >(std::__1::vector<llvm::StringRef, 
std::__1::allocator<llvm::StringRef> >&) 
/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang-tools-extra/clangd/index/Serialization.cpp:113:17
  #2 0x3926d6a in readIncludeGraphNode 
/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang-tools-extra/clangd/index/Serialization.cpp:275:13
  #3 0x3926d6a in clang::clangd::(anonymous 
namespace)::readRIFF(llvm::StringRef) 
/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang-tools-extra/clangd/index/Serialization.cpp:474:18
  #4 0x3926111 in clang::clangd::readIndexFile(llvm::StringRef) 
/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang-tools-extra/clangd/index/Serialization.cpp:676:12
  #5 0x1e5b77c in clang::clangd::(anonymous 
namespace)::SerializationTest_NoCrashOnBadArraySize_Test::TestBody() 
/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang-tools-extra/clangd/unittests/SerializationTests.cpp:380:24
  #6 0x20589f9 in testing::Test::Run() 
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/unittest/googletest/src/gtest.cc:2474:5
  #7 0x205993b in testing::TestInfo::Run() 
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/unittest/googletest/src/gtest.cc:2656:11
  #8 0x205a4e2 in testing::TestCase::Run() 
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/unittest/googletest/src/gtest.cc:2774:28
  #9 0x20619b2 in testing::internal::UnitTestImpl::RunAllTests() 
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/unittest/googletest/src/gtest.cc:4649:43
  #10 0x20613c9 in testing::UnitTest::Run() 
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/unittest/googletest/src/gtest.cc:4257:10
  #11 0x2051273 in RUN_ALL_TESTS 
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/unittest/googletest/include/gtest/gtest.h:2233:46
  #12 0x2051273 in main 
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/unittest/UnitTestMain/TestMain.cpp:50:10
  #13 0x7fd11479d09a in __libc_start_main 
(/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
  #14 0x1a330d9 in _start 
(/b/sanitizer-x86_64-linux-fast/build/llvm_build_ubsan/tools/clang/tools/extra/clangd/unittests/ClangdTests+0x1a330d9)

It looks like the corrupt input in your test case is triggering a preexisting 
bug in clangd.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91258/new/

https://reviews.llvm.org/D91258

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to