klee / klee

KLEE Symbolic Execution Engine

Home Page:https://klee-se.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KLEE Crashing on Bitcode While Executing Initial LLVM Passes

bathooman opened this issue · comments

KLEE Version

KLEE 3.0 (https://klee.github.io)
  Build mode: RelWithDebInfo (Asserts: ON)
  Build revision: dfa53ed4f5711ee2d378abb267bff1da8623f7e7

LLVM (http://llvm.org/):
  LLVM version 12.0.0
  
  Optimized build.
  Default target: x86_64-pc-linux-gnu
  Host CPU: ivybridge

Running Command

klee --kdalloc=0 --libc=uclibc --solver-backend=z3 libcoap-standalone.bc

Concise Description

When I execute the attached bitcode, KLEE crashes during executing initial LLVM passes. I appreciate any help on this matter.

libcoap-standalone.zip

Error Output

KLEE: Using Z3 solver backend
inlinable function call in a function with debug info must have a !dbg location
  %18 = call i8* @memcpy(i8* %16, i8* %17, i64 12)
inlinable function call in a function with debug info must have a !dbg location
  %31 = call i8* @memcpy(i8* %29, i8* %30, i64 12)
inlinable function call in a function with debug info must have a !dbg location
  %24 = call i8* @memcpy(i8* %22, i8* %23, i64 12)
LLVM ERROR: Broken module found, compilation aborted!
 #0 0x00007fbd71ccdef3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-12/lib/libLLVM-12.so.1+0xbd8ef3)
 #1 0x00007fbd71ccc1e2 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-12/lib/libLLVM-12.so.1+0xbd71e2)
 #2 0x00007fbd71cce55f (/usr/lib/llvm-12/lib/libLLVM-12.so.1+0xbd955f)
 #3 0x00007fbd70aea090 (/lib/x86_64-linux-gnu/libc.so.6+0x43090)
 #4 0x00007fbd70aea00b raise /build/glibc-wuryBv/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #5 0x00007fbd70ac9859 abort /build/glibc-wuryBv/glibc-2.31/stdlib/abort.c:81:7
 #6 0x00007fbd71c29209 (/usr/lib/llvm-12/lib/libLLVM-12.so.1+0xb34209)
 #7 0x00007fbd71c29026 (/usr/lib/llvm-12/lib/libLLVM-12.so.1+0xb34026)
 #8 0x00007fbd71e645bb (/usr/lib/llvm-12/lib/libLLVM-12.so.1+0xd6f5bb)
 #9 0x00007fbd71dfae11 llvm::FPPassManager::doFinalization(llvm::Module&) (/usr/lib/llvm-12/lib/libLLVM-12.so.1+0xd05e11)
#10 0x00007fbd71df5aa2 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/lib/llvm-12/lib/libLLVM-12.so.1+0xd00aa2)
#11 0x0000561363913f8f klee::KModule::checkModule() /home/hooman/repos/symbex/kleener/lib/Module/KModule.cpp:359:3
#12 0x00005613638a9ac4 std::__uniq_ptr_impl<klee::KModule, std::default_delete<klee::KModule> >::_M_ptr() const /usr/include/c++/9/bits/unique_ptr.h:154:58
#13 0x00005613638a9ac4 std::unique_ptr<klee::KModule, std::default_delete<klee::KModule> >::get() const /usr/include/c++/9/bits/unique_ptr.h:361:28
#14 0x00005613638a9ac4 std::unique_ptr<klee::KModule, std::default_delete<klee::KModule> >::operator->() const /usr/include/c++/9/bits/unique_ptr.h:355:13
#15 0x00005613638a9ac4 klee::Executor::setModule(std::vector<std::unique_ptr<llvm::Module, std::default_delete<llvm::Module> >, std::allocator<std::unique_ptr<llvm::Module, std::default_delete<llvm::Module> > > >&, klee::Interpreter::ModuleOptions const&) /home/hooman/repos/symbex/kleener/lib/Core/Executor.cpp:572:20
#16 0x000056136388acd1 main /home/hooman/repos/symbex/kleener/tools/klee/main.cpp:1409:37
#17 0x00007fbd70acb083 __libc_start_main /build/glibc-wuryBv/glibc-2.31/csu/../csu/libc-start.c:342:3
#18 0x000056136389bd3e _start (/home/hooman/repos/symbex/kleener/build/bin/klee+0x3ed3e)
Aborted (core dumped)

This seems like a duplicate of #937.