Skip to content

Errors and Bug Reporting

Fabian Schiebel edited this page Jan 11, 2023 · 9 revisions

Errors and Bugs

The Phasar framework is still under development. Thus, it might contain errors that are (un)known to the developers. If you find an error please create an issue in our tracker on Github. The report should include at least a summary of what you were doing when you hit the error and a complete error message (if possible). We will try to fix bugs as quickly as possible. If you are familiar with program analysis and LLVM you are welcome to fix the bug, improve Phasar, and send us a pull request.

Observations and Known Bugs

Runtime Stack Overflows

We experienced some segmentation faults caused by the OS's stack size limit when analyzing programs with more than ~ > 240 k IR instructions or ~ > 21 k call-sites. The limits can be checked with

$ ulimit -a

If you would like to analyze larger programs adjust the stack size limit to your needs e.g. set the limit to 16 GiB:

$ ulimit -s 16777216

Problems When Statically Linking Against LLVM

When statically linking Phasar against LLVM, users will encounter a runtime error similar to the following:

./phasar
: CommandLine Error: Option 'verify-dom-info' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options

The bug can be fixed by dynamically linking against the LLVM libraries. When installing Phasar using the bootstrap.sh script on Unix/Linus systems, LLVM will be automatically build in a shared library configuration. We are currently in the process of improving Phasar's library dependencies such that we will eventually support linking statically, too.

Error While Installing:

This issue should be obsolete with recent versions of LLVM

  • While installing phasar, you may encounter an error as following:
CMake Error at tools/llvm-shlib/CMakeLists.txt:44 (list):
  list sub-command REMOVE_DUPLICATES requires list to be present.

The bug can be fixed by doing the following:
In the phasar project directory, edit the CMakeLists.txt file using:

nano llvm-project/llvm/tools/llvm-shlib/CMakeLists.txt

Change list(REMOVE_DUPLICATES LIB_NAMES) to

if(LIB_NAMES)
list(REMOVE_DUPLICATES LIB_NAMES)
endif()
  • CMake Error: Target requires the language dialect "CXX17", but CMake does not know the compile flags to use to enable it.
    Solution: Install CMake>3.8

  • print_graph(): requires 2 argument, but 3 were given.
    Solution: Install boost>=1.63

  • errors related to gcc/g++:
    Try installing gcc-7 and g++-7

Clone this wiki locally