SRI-CSL / OCCAM

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

objdump issue #33

Closed shoaibCS closed 4 years ago

shoaibCS commented 4 years ago

I ran OCCAM on objdump. OCCAM stopped with an error message. I am sharing the error message towards the end. From the error message, it appears that the error condition gets triggered when "Compare Call Graph SeaDsa pass" is invoked.

In order to replicate the error, download the objdump.zip from this link. Then, unzip it and run bash run.sh within objdump. you will then see the error message shown below.

opt: sea-dsa/lib/seadsa/DsaLocal.cc:906: void (anonymous namespace)::BlockBuilderBase::visitGep(const llvm::Value &, const llvm::Value &, ArrayRef<llvm::Value *>): Assertion `false && "No cell for gep'd ptr"' failed.
Stack dump:
0.  Program arguments: /usr/lib/llvm-10/bin/opt -load=/occam/lib/libSeaDsa.so -load=/occam/lib/libprevirt.so /occam/paper_data/occam_number_trimmer/examples/gzip_objdump_aircrack/objdump/slash/objdump.a.i.p.bc -o=/dev/null -Pinterface -Pinterface-with-seadsa --sea-dsa-type-aware=true -Pinterface-output /tmp/tmptgpQAp.iface -Pinterface-entry /tmp/tmptgpQAp.iface 
1.  Running pass 'Complete Call Graph SeaDsa pass' on module '/occam/paper_data/occam_number_trimmer/examples/gzip_objdump_aircrack/objdump/slash/objdump.a.i.p.bc'.
caballa commented 4 years ago

Update OCCAM and src/analysis/sea-dsa Note that if you run with policy aggressive the specialization process might not terminate. Use nonrec-aggressive instead.

shoaibCS commented 4 years ago

Thanks for helping, the issue got resolved.