Skip to content

KLEE crashes on dwarfdump #11

@andreamattavelli

Description

@andreamattavelli
/home/andrea/work/klee-slicing/klee-build/bin/klee --link-llvm-lib=/home/andrea/work/klee-slicing/klee-slicing-experiments/libdwarf/libelf-0.8.13/lib/libelf.a.bc -skip-functions=dwarf_record_cmdline_options dwarfdump.bc -ka ../../regressiontests/marinescu/hello.original 
KLEE: Linking in library: /home/andrea/work/klee-slicing/klee-slicing-experiments/libdwarf/libelf-0.8.13/lib/libelf.a.bc.

KLEE: output directory is "/home/andrea/work/klee-slicing/klee-slicing-experiments/libdwarf/dwarf-20110612/dwarfdump/klee-out-48"
Using STP solver backend
KLEE: Runnining reachability analysis...
KLEE: Runnining pointer analysis...
KLEE: Runnining mod-ref analysis...
KLEE: Computing slices...
IntToPtr with constant:   <badref> = inttoptr i64 -1 to i8*
  %reverse463 = shufflevector <16 x i8> %reverse, <16 x i8> undef, <16 x i32> <i32 15, i32 14, i32 13, i32 12, i32 11, i32 10, i32 9, i32 8, i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>
klee: /home/andrea/work/klee-slicing/dg/src/llvm/analysis/PointsTo/PointerSubgraph.cpp:1419: dg::analysis::pta::PSNodesSeq dg::analysis::pta::LLVMPointerSubgraphBuilder::buildInstruction(const llvm::Instruction&): Assertion `0 && "Unhandled instruction"' failed.
0  libSlicing.so   0x00002aaaab266752 llvm::sys::PrintStackTrace(_IO_FILE*) + 50
1  libSlicing.so   0x00002aaaab265ec4
2  libpthread.so.0 0x00002aaaabaa9390
3  libc.so.6       0x00002aaaac58b428 gsignal + 56
4  libc.so.6       0x00002aaaac58d02a abort + 362
5  libc.so.6       0x00002aaaac583bd7
6  libc.so.6       0x00002aaaac583c82
7  libLLVMpta.so   0x00002aaaad3168f0 dg::analysis::pta::LLVMPointerSubgraphBuilder::buildInstruction(llvm::Instruction const&) + 678
8  libLLVMpta.so   0x00002aaaad3139e0 dg::analysis::pta::LLVMPointerSubgraphBuilder::buildNode(llvm::Value const*) + 118
9  libLLVMpta.so   0x00002aaaad313c75 dg::analysis::pta::LLVMPointerSubgraphBuilder::getOperand(llvm::Value const*) + 93
10 libLLVMpta.so   0x00002aaaad314eb1 dg::analysis::pta::LLVMPointerSubgraphBuilder::createStore(llvm::Instruction const*) + 59
11 libLLVMpta.so   0x00002aaaad3166d1 dg::analysis::pta::LLVMPointerSubgraphBuilder::buildInstruction(llvm::Instruction const&) + 135
12 libLLVMpta.so   0x00002aaaad316f77 dg::analysis::pta::LLVMPointerSubgraphBuilder::buildPointerSubgraphBlock(llvm::BasicBlock const&) + 249
13 libLLVMpta.so   0x00002aaaad31713e dg::analysis::pta::LLVMPointerSubgraphBuilder::buildFunction(llvm::Function const&) + 354
14 libLLVMpta.so   0x00002aaaad31419c dg::analysis::pta::LLVMPointerSubgraphBuilder::createCallToFunction(llvm::Function const*) + 236
15 libLLVMpta.so   0x00002aaaad31432e dg::analysis::pta::LLVMPointerSubgraphBuilder::createOrGetSubgraph(llvm::CallInst const*, llvm::Function const*) + 54
16 libLLVMpta.so   0x00002aaaad314c8d dg::analysis::pta::LLVMPointerSubgraphBuilder::createCall(llvm::Instruction const*) + 321
17 libLLVMpta.so   0x00002aaaad3167e5 dg::analysis::pta::LLVMPointerSubgraphBuilder::buildInstruction(llvm::Instruction const&) + 411
18 libLLVMpta.so   0x00002aaaad316f77 dg::analysis::pta::LLVMPointerSubgraphBuilder::buildPointerSubgraphBlock(llvm::BasicBlock const&) + 249
19 libLLVMpta.so   0x00002aaaad31713e dg::analysis::pta::LLVMPointerSubgraphBuilder::buildFunction(llvm::Function const&) + 354
20 libLLVMpta.so   0x00002aaaad31419c dg::analysis::pta::LLVMPointerSubgraphBuilder::createCallToFunction(llvm::Function const*) + 236
21 libLLVMpta.so   0x00002aaaad31432e dg::analysis::pta::LLVMPointerSubgraphBuilder::createOrGetSubgraph(llvm::CallInst const*, llvm::Function const*) + 54
22 libLLVMpta.so   0x00002aaaad314c8d dg::analysis::pta::LLVMPointerSubgraphBuilder::createCall(llvm::Instruction const*) + 321
23 libLLVMpta.so   0x00002aaaad3167e5 dg::analysis::pta::LLVMPointerSubgraphBuilder::buildInstruction(llvm::Instruction const&) + 411
24 libLLVMpta.so   0x00002aaaad316f77 dg::analysis::pta::LLVMPointerSubgraphBuilder::buildPointerSubgraphBlock(llvm::BasicBlock const&) + 249
25 libLLVMpta.so   0x00002aaaad31713e dg::analysis::pta::LLVMPointerSubgraphBuilder::buildFunction(llvm::Function const&) + 354
26 libLLVMpta.so   0x00002aaaad31419c dg::analysis::pta::LLVMPointerSubgraphBuilder::createCallToFunction(llvm::Function const*) + 236
27 libLLVMpta.so   0x00002aaaad31432e dg::analysis::pta::LLVMPointerSubgraphBuilder::createOrGetSubgraph(llvm::CallInst const*, llvm::Function const*) + 54
28 libLLVMpta.so   0x00002aaaad314c8d dg::analysis::pta::LLVMPointerSubgraphBuilder::createCall(llvm::Instruction const*) + 321
29 libLLVMpta.so   0x00002aaaad3167e5 dg::analysis::pta::LLVMPointerSubgraphBuilder::buildInstruction(llvm::Instruction const&) + 411
30 libLLVMpta.so   0x00002aaaad316f77 dg::analysis::pta::LLVMPointerSubgraphBuilder::buildPointerSubgraphBlock(llvm::BasicBlock const&) + 249
31 libLLVMpta.so   0x00002aaaad31713e dg::analysis::pta::LLVMPointerSubgraphBuilder::buildFunction(llvm::Function const&) + 354
32 libLLVMpta.so   0x00002aaaad31419c dg::analysis::pta::LLVMPointerSubgraphBuilder::createCallToFunction(llvm::Function const*) + 236
33 libLLVMpta.so   0x00002aaaad31432e dg::analysis::pta::LLVMPointerSubgraphBuilder::createOrGetSubgraph(llvm::CallInst const*, llvm::Function const*) + 54
34 libLLVMpta.so   0x00002aaaad3142f5 dg::analysis::pta::LLVMPointerSubgraphBuilder::createFuncptrCall(llvm::CallInst const*, llvm::Function const*) + 51
35 libSlicing.so   0x00002aaaaaefa95d SVFPointerAnalysis::functionPointerCall(dg::analysis::pta::PSNode*, dg::analysis::pta::PSNode*) + 239
36 libSlicing.so   0x00002aaaaaefa848 SVFPointerAnalysis::handleFuncPtr(dg::analysis::pta::PSNode*) + 198
37 libSlicing.so   0x00002aaaaaefa540 SVFPointerAnalysis::handleVirtualCalls() + 314
38 libSlicing.so   0x00002aaaaaefa1cf SVFPointerAnalysis::run() + 39
39 libSlicing.so   0x00002aaaaaf32283 SliceGenerator::generate() + 333
40 klee            0x000000000058a92b klee::KModule::prepare(klee::Interpreter::ModuleOptions const&, std::vector<klee::Interpreter::SkippedFunctionOption, std::allocator<klee::Interpreter::SkippedFunctionOption> > const&, klee::InterpreterHandler*, ReachabilityAnalysis*, Inliner*, AAPass*, ModRefAnalysis*, Cloner*, SliceGenerator*) + 3435
41 klee            0x000000000053414f klee::Executor::setModule(llvm::Module*, klee::Interpreter::ModuleOptions const&) + 1551
42 klee            0x0000000000514a41 main + 4689
43 libc.so.6       0x00002aaaac576830 __libc_start_main + 240
44 klee            0x0000000000526f29 _start + 41
Aborted (core dumped)

Do we support vectors?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions