[LLVMbugs] [Bug 18189] New: Exception handling crashes

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Dec 9 07:47:22 PST 2013


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

            Bug ID: 18189
           Summary: Exception handling crashes
           Product: tools
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: analyze
          Assignee: unassignedbugs at nondot.org
          Reporter: wsleemaniv at mcvh-vcu.edu
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Running the analyze tools through the scan-build program generates output like
this:

ibtool: compile: 
/home/fsleeman/Downloads/clang/llvm/tools/clang/tools/scan-build/c++-analyzer
-DHAVE_CONFIG_H -I. -I.. -I../dal/include -I../include -I../util/include
-I../dil/include -I../filter/include -g -m64 -MT rcfBitmapImageContainer.lo -MD
-MP -MF .deps/rcfBitmapImageContainer.Tpo -c
../dal/src/rcfBitmapImageContainer.cpp  -fPIC -DPIC -o
.libs/rcfBitmapImageContainer.o
0  clang++         0x000000000314c616 llvm::sys::PrintStackTrace(_IO_FILE*) +
38
1  clang++         0x000000000314c893
2  clang++         0x000000000314c2e9
3  libpthread.so.0 0x00002b870d623bb0
4  clang++         0x0000000000d14d18
5  clang++         0x0000000001f33a9c clang::Stmt::getLocStart() const + 24
6  clang++         0x0000000001861f70
7  clang++         0x00000000018623dc
clang::ento::PathDiagnosticLocation::createBegin(clang::Stmt const*,
clang::SourceManager const&, llvm::PointerUnion<clang::LocationContext const*,
clang::AnalysisDeclContext*>) + 48
8  clang++         0x000000000177db22
9  clang++         0x000000000177df67
10 clang++         0x00000000017ff469
11 clang++         0x00000000017facc7
clang::ento::CheckerManager::runCheckersForEndAnalysis(clang::ento::ExplodedGraph&,
clang::ento::BugReporter&, clang::ento::ExprEngine&) + 99
12 clang++         0x0000000001822aea
clang::ento::ExprEngine::processEndWorklist(bool) + 72
13 clang++         0x000000000181276d
clang::ento::CoreEngine::ExecuteWorkList(clang::LocationContext const*,
unsigned int, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>) + 935
14 clang++         0x00000000016321ee
15 clang++         0x000000000160add4
16 clang++         0x000000000160aef4
17 clang++         0x000000000160abca
18 clang++         0x000000000160a2ef
19 clang++         0x000000000160a635
20 clang++         0x00000000010dab1e clang::ParseAST(clang::Sema&, bool, bool)
+ 780
21 clang++         0x0000000000c94f6a clang::ASTFrontendAction::ExecuteAction()
+ 322
22 clang++         0x0000000000c94aad clang::FrontendAction::Execute() + 205
23 clang++         0x0000000000c67c1a
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 720
24 clang++         0x0000000000c3732a
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1026
25 clang++         0x0000000000c2886f cc1_main(char const**, char const**, char
const*, void*) + 717
26 clang++         0x0000000000c32bc3 main + 785
27 libc.so.6       0x00002b870e274de5 __libc_start_main + 245
28 clang++         0x0000000000c27f79
Stack dump:
0.    Program arguments: /usr/local/bin/clang++ -cc1 -triple
x86_64-unknown-linux-gnu -analyze -disable-free -main-file-name
rcfBitmapImageContainer.cpp -analyzer-store=region
-analyzer-opt-analyze-nested-blocks -analyzer-eagerly-assume
-analyzer-checker=core -analyzer-checker=unix -analyzer-checker=deadcode
-analyzer-checker=cplusplus
-analyzer-checker=security.insecureAPI.UncheckedReturn
-analyzer-checker=security.insecureAPI.getpw
-analyzer-checker=security.insecureAPI.gets
-analyzer-checker=security.insecureAPI.mktemp
-analyzer-checker=security.insecureAPI.mkstemp
-analyzer-checker=security.insecureAPI.vfork -analyzer-output plist -w
-mrelocation-model pic -pic-level 2 -mdisable-fp-elim -fmath-errno
-masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array
-target-cpu x86-64 -target-linker-version 2.23.52.20130913 -resource-dir
/usr/local/bin/../lib/clang/3.5 -D HAVE_CONFIG_H -D PIC -I . -I .. -I
../dal/include -I ../include -I ../util/include -I ../dil/include -I
../filter/include -internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8 -internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/x86_64-linux-gnu
-internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/backward
-internal-isystem
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++/4.8
-internal-isystem /usr/local/include -internal-isystem
/usr/local/bin/../lib/clang/3.5/include -internal-externc-isystem
/usr/include/x86_64-linux-gnu -internal-externc-isystem /include
-internal-externc-isystem /usr/include -fdeprecated-macro
-fdebug-compilation-dir /rdoppg/dvfTmp/fsleeman/clangTests/rcf2013/lib
-ferror-limit 19 -fmessage-length 0 -mstackrealign -fobjc-runtime=gcc
-fcxx-exceptions -fexceptions -fdiagnostics-show-option -vectorize-slp
-analyzer-opt-analyze-headers -analyzer-checker=debug.Stats
-analyzer-output=html -o
/home/fsleeman/rcf2013/results/2013-11-22-111838-11071-1 -x c++
../dal/src/rcfBitmapImageContainer.cpp
1.    <eof> parser at end of file

These errors appear to be related to classes using exception handling. I am
using a class inherited from std::exception for simple error message printing.
I am using this command to compile and analyze:
scan-build --use-analyzer /usr/local/bin/clang -analyze-headers -V -stats -o
/rdoppg/dvfTmp/fsleeman/clangTests/results/ make

I am using clang version 3.5 (trunk 195266) on Ubuntu 13.10. It appears that
the errors only occur when I use the -analyze-headers option. I am using some
templated classes with implementation in the headers so I was assuming I need
to analyze the headers as well.

Attached is a preprocessed file that causes errors.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20131209/c717821c/attachment.html>


More information about the llvm-bugs mailing list