SRI-CSL/OCCAM

objdump issue

Closed this issue · 2 comments

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'.

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.

Thanks for helping, the issue got resolved.