SRI-CSL / OCCAM

OCCAM: Object Culling and Concretization for Assurance Maximization
BSD 3-Clause "New" or "Revised" License
26 stars 10 forks source link

Inconsistent behavior #31

Closed shoaibCS closed 4 years ago

shoaibCS commented 4 years ago

I am trying to run OCCAM built with llvm10 on gzip with --enable-config-prime option.

when I run OCCAM, sometimes OCCAM's execution stops. The command that results in error is /usr/lib/llvm-10/bin/opt -load=/occam/lib/libSeaDsa.so -load=/occam/lib/libprevirt.so /occam/TRIMMER/examples/gzip-1.3.12/test/gzip.a.bc -o=/occam/TRIMMER/examples/gzip-1.3.12/test/gzip.a.cp.bc -O1 -Pconfig-prime -Pconfig-prime-unknown-args=0. if I run this command in terminal, I get the following error message,

About to interpret:   call void @exit(i32 %19) #14
cannot execute external call to exit because of some unknown argument
About to interpret:   unreachable
LLVM ERROR: Program executed an 'unreachable' instruction!

Now, the strange thing is that if I run that command multiple times in terminal, sometimes the command executes successfully and I see the following message,

About to interpret:   br i1 %29, label %30, label %37
Finished execution after 565 instructions  and 50 blocks
ConfigPrime: execution of main returned with status 0

In order to replicate the error, download a directory containing gzip's bitcode from this link. Then, decompress the directory in a docker container that has OCCAM built with llvm10 and run the run.sh in the directory. Run the run.sh multiple times to verify the existence of inconsistent behavior.

caballa commented 4 years ago

@shoaibCS : is this problem solved?

shoaibCS commented 4 years ago

yes, the problem is solved now. I am closing the issue.