uabelho added a comment.

Hi,

The following starts crashing with this patch:

  clang -cc1 -analyze -analyzer-checker=core bbi-77010.c

It crashes with

  bbi-77010.c:6:1: warning: non-void function does not return a value 
[-Wreturn-type]
  }
  ^
  clang: ../../clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1622: 
clang::ento::RangeSet (anonymous 
namespace)::SymbolicRangeInferrer::VisitBinaryOperator(clang::ento::RangeSet, 
clang::ento::RangeSet, clang::QualType): Assertion `!LHS.isEmpty() && 
!RHS.isEmpty() && "Both ranges should be non-empty"' failed.
  PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ 
and include the crash backtrace, preprocessed source, and associated run script.
  Stack dump:
  0.    Program arguments: ../../main-github/llvm/build-all/bin/clang -cc1 
-analyze -analyzer-checker=core bbi-77010.c
  1.    <eof> parser at end of file
  2.    While analyzing stack: 
        #0 Calling g
  3.    bbi-77010.c:13:12: Error evaluating statement
  4.    bbi-77010.c:13:12: Error evaluating statement
   #0 0x0000000002fddbb3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
(../../main-github/llvm/build-all/bin/clang+0x2fddbb3)
   #1 0x0000000002fdb8de llvm::sys::RunSignalHandlers() 
(../../main-github/llvm/build-all/bin/clang+0x2fdb8de)
   #2 0x0000000002fddf36 SignalHandler(int) Signals.cpp:0:0
   #3 0x00007fe701eb8630 __restore_rt sigaction.c:0:0
   #4 0x00007fe6ff5ff387 raise (/lib64/libc.so.6+0x36387)
   #5 0x00007fe6ff600a78 abort (/lib64/libc.so.6+0x37a78)
   #6 0x00007fe6ff5f81a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
   #7 0x00007fe6ff5f8252 (/lib64/libc.so.6+0x2f252)
   #8 0x00000000049caed2 (anonymous 
namespace)::SymbolicRangeInferrer::VisitBinaryOperator(clang::ento::RangeSet, 
clang::BinaryOperatorKind, clang::ento::RangeSet, clang::QualType) 
RangeConstraintManager.cpp:0:0
   #9 0x00000000049c9867 (anonymous 
namespace)::SymbolicRangeInferrer::infer(clang::ento::SymExpr const*) 
RangeConstraintManager.cpp:0:0
  #10 0x00000000049bebf5 (anonymous 
namespace)::RangeConstraintManager::assumeSymNE(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState
 const>, clang::ento::SymExpr const*, llvm::APSInt const&, llvm::APSInt const&) 
RangeConstraintManager.cpp:0:0
  #11 0x00000000049d368c 
clang::ento::RangedConstraintManager::assumeSymUnsupported(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState
 const>, clang::ento::SymExpr const*, bool) 
(../../main-github/llvm/build-all/bin/clang+0x49d368c)
  #12 0x00000000049f0b09 
clang::ento::SimpleConstraintManager::assumeAux(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState
 const>, clang::ento::NonLoc, bool) 
(../../main-github/llvm/build-all/bin/clang+0x49f0b09)
  #13 0x00000000049f096a 
clang::ento::SimpleConstraintManager::assume(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState
 const>, clang::ento::NonLoc, bool) 
(../../main-github/llvm/build-all/bin/clang+0x49f096a)
  #14 0x00000000049f086d 
clang::ento::SimpleConstraintManager::assumeInternal(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState
 const>, clang::ento::DefinedSVal, bool) 
(../../main-github/llvm/build-all/bin/clang+0x49f086d)
  #15 0x000000000492d3e3 
clang::ento::ConstraintManager::assumeDual(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState
 const>, clang::ento::DefinedSVal) 
(../../main-github/llvm/build-all/bin/clang+0x492d3e3)
  #16 0x0000000004955b6d 
clang::ento::ExprEngine::evalEagerlyAssumeBinOpBifurcation(clang::ento::ExplodedNodeSet&,
 clang::ento::ExplodedNodeSet&, clang::Expr const*) 
(../../main-github/llvm/build-all/bin/clang+0x4955b6d)
  #17 0x00000000049514b6 clang::ento::ExprEngine::Visit(clang::Stmt const*, 
clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&) 
(../../main-github/llvm/build-all/bin/clang+0x49514b6)
  #18 0x000000000494c73e clang::ento::ExprEngine::ProcessStmt(clang::Stmt 
const*, clang::ento::ExplodedNode*) 
(../../main-github/llvm/build-all/bin/clang+0x494c73e)
  #19 0x000000000494c459 
clang::ento::ExprEngine::processCFGElement(clang::CFGElement, 
clang::ento::ExplodedNode*, unsigned int, clang::ento::NodeBuilderContext*) 
(../../main-github/llvm/build-all/bin/clang+0x494c459)
  #20 0x000000000492f3d0 
clang::ento::CoreEngine::HandlePostStmt(clang::CFGBlock const*, unsigned int, 
clang::ento::ExplodedNode*) 
(../../main-github/llvm/build-all/bin/clang+0x492f3d0)
  #21 0x000000000492e1f6 
clang::ento::CoreEngine::ExecuteWorkList(clang::LocationContext const*, 
unsigned int, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>) 
(../../main-github/llvm/build-all/bin/clang+0x492e1f6)
  #22 0x000000000454d931 (anonymous 
namespace)::AnalysisConsumer::HandleCode(clang::Decl*, unsigned int, 
clang::ento::ExprEngine::InliningModes, llvm::DenseSet<clang::Decl const*, 
llvm::DenseMapInfo<clang::Decl const*, void>>*) AnalysisConsumer.cpp:0:0
  #23 0x000000000453034e (anonymous 
namespace)::AnalysisConsumer::HandleTranslationUnit(clang::ASTContext&) 
AnalysisConsumer.cpp:0:0
  #24 0x0000000004a441a5 clang::ParseAST(clang::Sema&, bool, bool) 
(../../main-github/llvm/build-all/bin/clang+0x4a441a5)
  #25 0x0000000003ac97f6 clang::FrontendAction::Execute() 
(../../main-github/llvm/build-all/bin/clang+0x3ac97f6)
  #26 0x0000000003a3b8a4 
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) 
(../../main-github/llvm/build-all/bin/clang+0x3a3b8a4)
  #27 0x0000000003b8b102 
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) 
(../../main-github/llvm/build-all/bin/clang+0x3b8b102)
  #28 0x00000000009f8516 cc1_main(llvm::ArrayRef<char const*>, char const*, 
void*) (../../main-github/llvm/build-all/bin/clang+0x9f8516)
  #29 0x00000000009f53b0 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) 
driver.cpp:0:0
  #30 0x00000000009f4e66 clang_main(int, char**) 
(../../main-github/llvm/build-all/bin/clang+0x9f4e66)
  #31 0x00007fe6ff5eb555 __libc_start_main (/lib64/libc.so.6+0x22555)
  #32 0x00000000009f0fbb _start 
(../../main-github/llvm/build-all/bin/clang+0x9f0fbb)
  Abort (core dumped)

F25730184: bbi-77010.c <https://reviews.llvm.org/F25730184>


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D112621

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

Reply via email to