[LLVMbugs] [Bug 7925] New: APSInt signedness assertion in BasicValueFactory::EvaluateAPSInt

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Aug 16 16:03:24 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=7925

           Summary: APSInt signedness assertion in
                    BasicValueFactory::EvaluateAPSInt
           Product: clang
           Version: unspecified
          Platform: Macintosh
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Static Analyzer
        AssignedTo: kremenek at apple.com
        ReportedBy: tcare at apple.com
                CC: llvmbugs at cs.uiuc.edu, jediknil at belkadan.com


Ran into this assertion while trying to reduce a test case from WINE. The
function I was reducing was DllRegisterServer.

Starting program: /Volumes/Data/Users/tcare/Projects/llvm-eclipse/bin/clang
-cc1 -triple x86_64-apple-darwin10.0.0 -analyze -disable-free -main-file-name
hlink_main.i -analyzer-store=region -analyzer-opt-analyze-nested-blocks
-analyzer-check-dead-stores -analyzer-check-objc-mem -analyzer-eagerly-assume
-analyzer-check-objc-methodsigs -analyzer-check-objc-unused-ivars
-analyzer-check-idempotent-operations -analyzer-output plist -w -pic-level 1
-mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -resource-dir
/Volumes/Data/Users/tcare/Projects/llvm-eclipse/lib/clang/2.8 -ferror-limit 19
-fmessage-length 236 -stack-protector 1 -fblocks -fdiagnostics-show-option
-fcolor-diagnostics -analyzer-experimental-checks -o hlink_main.plist -x
cpp-output hlink_main.i
Reading symbols for shared libraries ++. done

In file included from hlink_main.i:22:
../../include/winnt.h:3950:39: warning: Both operands to '-' always have the
same value
                             return s - str;
                                    ~ ^ ~~~
Assertion failed: (IsUnsigned == RHS.IsUnsigned && "Signedness mismatch!"),
function operator-, file
/Volumes/Data/Users/tcare/Projects/llvm/include/llvm/ADT/APSInt.h, line 230.

Program received signal SIGABRT, Aborted.
0x00007fff824c7676 in __kill ()
(gdb) bt
#0  0x00007fff824c7676 in __kill ()
#1  0x00007fff82567cba in abort ()
#2  0x00007fff82554c80 in __assert_rtn ()
#3  0x00000001009a7c50 in llvm::APSInt::operator- (this=0x105080f88,
RHS=@0x105078b00) at
/Volumes/Data/Users/tcare/Projects/llvm/include/llvm/ADT/APSInt.h:230
#4  0x000000010069424b in clang::BasicValueFactory::EvaluateAPSInt
(this=0x7fff5fbfcb38, Op=Sub, V1=@0x105080f88, V2=@0x105078b00) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/BasicValueFactory.cpp:165
#5  0x00000001007cd23e in clang::nonloc::ConcreteInt::evalBinOp
(this=0x7fff5fbfa728, ValMgr=@0x7fff5fbfcb30, Op=Sub, R=@0x7fff5fbfa718) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/SVals.cpp:225
#6  0x00000001007d5cbd in (anonymous namespace)::SimpleSValuator::EvalBinOpNN
(this=0x104d123f0, state=0x1050816b8, op=Sub, resultTy={Value = {Value =
4378946600}}, lhs={<clang::DefinedSVal> = {<clang::DefinedOrUnknownSVal> =
{<clang::SVal> = {Data = 0x7fff5fbfa728, Kind = 1606395704}, <No data fields>},
<No data fields>}, <No data fields>}, rhs={<clang::DefinedSVal> =
{<clang::DefinedOrUnknownSVal> = {<clang::SVal> = {Data = 0x7fff5fbfa718, Kind
= 1606395688}, <No data fields>}, <No data fields>}, <No data fields>}) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/SimpleSValuator.cpp:419
#7  0x0000000100702719 in (anonymous
namespace)::CStringChecker::CheckBufferAccess (this=0x104d11f20,
C=@0x7fff5fbfae10, state=0x1050816b8, Size=0x105060418, FirstBuf=0x1050603b8,
SecondBuf=0x0, FirstIsDestination=false) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/CStringChecker.cpp:269
#8  0x0000000100701052 in (anonymous namespace)::CStringChecker::EvalMemcmp
(this=0x104d11f20, C=@0x7fff5fbfae10, CE=0x105060338) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/CStringChecker.cpp:755
#9  0x000000010070034c in (anonymous namespace)::CStringChecker::EvalCallExpr
(this=0x104d11f20, C=@0x7fff5fbfae10, CE=0x105060338) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/CStringChecker.cpp:927
#10 0x0000000100749fbc in clang::Checker::GR_EvalCallExpr (this=0x104d11f20,
Dst=@0x7fff5fbfaff8, Builder=@0x7fff5fbfc5e8, Eng=@0x7fff5fbfca28,
CE=0x105060338, Pred=0x105081450, tag=0x1022479a0) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/include/clang/Checker/PathSensitive/Checker.h:223
#11 0x000000010072c824 in clang::GRExprEngine::CheckerEvalCall
(this=0x7fff5fbfca28, CE=0x105060338, Dst=@0x7fff5fbfb448, Pred=0x105081450) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/GRExprEngine.cpp:291
#12 0x000000010073685f in clang::GRExprEngine::VisitCall (this=0x7fff5fbfca28,
CE=0x105060338, Pred=0x1050805c8, AI={I = 0x105060370}, AE={I = 0x105060388},
Dst=@0x7fff5fbfc220, asLValue=false) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/GRExprEngine.cpp:2116
#13 0x0000000100731523 in clang::GRExprEngine::Visit (this=0x7fff5fbfca28,
S=0x105060338, Pred=0x1050805c8, Dst=@0x7fff5fbfc220) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/GRExprEngine.cpp:891
#14 0x000000010072fe42 in clang::GRExprEngine::ProcessStmt
(this=0x7fff5fbfca28, CE={Data = {Value = 4379247416}},
builder=@0x7fff5fbfc5e8) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/GRExprEngine.cpp:727
#15 0x0000000100726f8a in clang::GRCoreEngine::ProcessStmt
(this=0x7fff5fbfca38, E={Data = {Value = 4379247416}}, Builder=@0x7fff5fbfc5e8)
at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/include/clang/Checker/PathSensitive/GRCoreEngine.h:95
#16 0x0000000100723756 in clang::GRCoreEngine::HandlePostStmt
(this=0x7fff5fbfca38, L=@0x7fff5fbfc7a0, B=0x105074580, StmtIdx=1,
Pred=0x1050805c8) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/GRCoreEngine.cpp:386
#17 0x0000000100722e30 in clang::GRCoreEngine::ExecuteWorkList
(this=0x7fff5fbfca38, L=0x104d12070, Steps=149982, InitState=0x0) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/GRCoreEngine.cpp:197
#18 0x0000000100672e7a in clang::GRExprEngine::ExecuteWorkList
(this=0x7fff5fbfca28, L=0x104d12070, Steps=150000) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/include/clang/Checker/PathSensitive/GRExprEngine.h:133
#19 0x000000010066d645 in ActionGRExprEngine (C=@0x104d0d720, mgr=@0x104d0e8c0,
D=0x10505f4c0, tf=0x104d148e0) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/AnalysisConsumer.cpp:361
#20 0x000000010066d346 in ActionObjCMemCheckerAux (C=@0x104d0d720,
mgr=@0x104d0e8c0, D=0x10505f4c0, GCEnabled=false) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/AnalysisConsumer.cpp:382
#21 0x000000010066d13f in ActionObjCMemChecker (C=@0x104d0d720,
mgr=@0x104d0e8c0, D=0x10505f4c0) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/AnalysisConsumer.cpp:392
#22 0x00000001006716db in (anonymous namespace)::AnalysisConsumer::HandleCode
(this=0x104d0d720, D=0x10505f4c0, actions=@0x104d0d730) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/AnalysisConsumer.cpp:303
#23 0x0000000100670c97 in (anonymous
namespace)::AnalysisConsumer::HandleTranslationUnit (this=0x104d0d720,
C=@0x105014200) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Checker/AnalysisConsumer.cpp:215
#24 0x000000010039eed4 in clang::ParseAST (S=@0x105025800, PrintStats=false) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Sema/ParseAST.cpp:103
#25 0x00000001000aa2dc in clang::ASTFrontendAction::ExecuteAction
(this=0x104d072a0) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:264
#26 0x00000001000a9e7d in clang::FrontendAction::Execute (this=0x104d072a0) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:184
#27 0x0000000100073b94 in clang::CompilerInstance::ExecuteAction
(this=0x104d07360, Act=@0x104d072a0) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:535
#28 0x00000001000a733c in clang::ExecuteCompilerInvocation (Clang=0x104d07360)
at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/lib/Frontend/ExecuteCompilerInvocation.cpp:147
#29 0x0000000100009993 in cc1_main (ArgBegin=0x7fff5fbfe9a0,
ArgEnd=0x7fff5fbfeae8, Argv0=0x104d043b8
"/Volumes/Data/Users/tcare/Projects/llvm-eclipse/bin/clang",
MainAddr=0x100001840) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/tools/driver/cc1_main.cpp:160
#30 0x0000000100001b3c in main (argc_=43, argv_=0x7fff5fbff228) at
/Volumes/Data/Users/tcare/Projects/llvm/tools/clang/tools/driver/driver.cpp:267

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list