Thanks Daniel for the valuable input on debugging. I really appreciate that.
Surely I have to debug the klee.
$gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Just an FYI: This is how I build the klee
mkdir work
cd work
wget http://llvm.org/releases/2.9/llvm-gcc-4.2-2.9-i686-linux.tgz
tar zxfv llvm-gcc-4.2-2.9-i686-linux.tgz
echo "export PATH=\$PATH:~/work/llvm-gcc-4.2-2.9-i686-linux/bin"
>> ~/.bashrc
echo "export PATH=\$PATH:~/work/klee/Release+Asserts/bin" >>
~/.bashrc
echo "export C_INCLUDE_PATH=/usr/include/i386-linux-gnu" >>
~/.bashrc
source ~/.bashrc
curl -O http://llvm.org/releases/2.9/llvm-2.9.tgz
tar zxvf llvm-2.9.tgz
cd llvm-2.9
./configure --enable-optimized --enable-assertions
make -j $(grep -c processor /proc/cpuinfo)
cd ..
svn co -r 940
https://stp-fast-prover.svn.sourceforge.net/svnroot/stp-fast-prover/trunk/stp
stp
cd stp
./scripts/configure
--with-prefix=/home/$(whoami)/work/stp_install --with-cryptominisat2
make -j $(grep -c processor /proc/cpuinfo) OPTIMIZE=-O2
CFLAGS_M32= install
cd ..
svn co http://llvm.org/svn/llvm-project/klee/trunk klee
cd klee
./configure --with-llvm=/home/$(whoami)/work/llvm-2.9
--with-stp=/home/$(whoami)/work/stp_install
make -j $(grep -c processor /proc/cpuinfo) ENABLE_OPTIMIZED=1
make unittests
On 10/30/2013 10:13 AM, Daniel Liew wrote:
Please make sure you use "reply-all" to ensure the mailing list sees
your response as well as me.
Oh so you are running 64-bit then, so that rules that possibility out.
I took your even simpler program and executed that and I still cannot
reproduce your issue. That is a very very old kernel you are running
so I guess you might be running some other old stuff too. What
compiler did you use to compiler KLEE? My guess is gcc, if so then run
$ gcc --version to get your version information.
You are going to need debug KLEE yourself because I cannot reproduce
the issue. I'm assuming the error is still in
ConstantExpr::create(uint64_t v, Width w) , so as a starting point do
the following.
$ gdb klee
(gdb) run your-bitcodefile.bc
... At some point you'll get the assertion failure
then use commands "bt", "up", "down" or "frame" to navigate the stack
frame until you get to ConstantExpr::create()
then you can run "info args" to see what arguments were passed. That
will be a good starting point for debugging.
Hope that helps,
Dan.
For the benefit of those on the mailing list Sandeep's response is
shown in full below.
On 30 October 2013 01:00, Sandeep <[email protected]> wrote:
Hi Daniel,
Thanks for your comments.
Here are the specification:
Kernel Version
$uname -mrs
Linux 2.6.32-358.6.2.el6.x86_64 x86_64
Distribution
$lsb_release -a
LSB Version:
:base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: Scientific
Description: Scientific Linux release 6.4 (Carbon)
Release: 6.4
Codename: Carbon
Just to let you know the simplest code with which I am getting the error is
int main(void) {
int i,t, a[4] = {1,0,5,2};
klee_make_symbolic(&i, sizeof(i), "my_i");
t = a[i];
}
Thanks
Sandeep
On 10/29/2013 06:50 PM, Daniel Liew wrote:
I don't remember seeing this before.
I'm afraid I can't reproduce the issue on my machine so there's
nothing I can do.
If you really want to you can add the issue to the issue tracker (
https://github.com/ccadar/klee/issues?page=1&state=open ) but if no
developers can reproduce the issue there's not much we can do.
As you can see from the error message the problem is in
ConstantExpr::create() . Whatever value is being passed is being is
either too big to be represented by the requested width OR there is a
bug in Bits64::truncateToNBits().
Get in there with a debugger (e.g. gdb) and find out what values are
causing the assertion failure.
Out of curiosity...
What architecture are you using (hardware and software wise - i.e.
32-bit or 64-bit)? I'm using 64-bit. I have a sneaking suspicion
you're using 32-bit
What distro are you using?
What kernel version are you using?
On 29 October 2013 22:38, Sandeep <[email protected]> wrote:
I am still getting the error that Ting Chen reported. Also the llvm build
version that I am using is LLVM build 2.9 as prescribed at
http://thread.gmane.org/gmane.comp.compilers.llvm.klee/923
Please let me know what is the actual issue.
--
With Thanks and Regards,
Sandeep Dasgupta
Graduate ( PhD ) in Computer Science
Room : 1218 Siebel Center for Computer Science
--
With Thanks and Regards,
Sandeep Dasgupta
Graduate ( PhD ) in Computer Science
Room : 1218 Siebel Center for Computer Science
--
*With Thanks and Regards,*
Sandeep Dasgupta
Graduate ( PhD ) in Computer Science
Room : 1218 Siebel Center for Computer Science
_______________________________________________
klee-dev mailing list
[email protected]
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev