SRI-CSL / OCCAM

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

aircrack-ng issue #34

Closed shoaibCS closed 4 years ago

shoaibCS commented 4 years ago

I ran OCCAM on aircrack-ng. OCCAM stopped with an error message. it seems one particular output bitcode file doesn't get generated and when a subsequent pass tries to use that output bitcode file as input, OCCAM stops. I am sharing the error messages towards the end.

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

Exception in worker for Intra-module specialization/optimization:
------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/razor/pool.py", line 82, in rf
    result[i] = f(args[i])
  File "/usr/local/lib/python2.7/dist-packages/razor/slash.py", line 439, in intra
    log=open(fn, 'w'))
  File "/usr/local/lib/python2.7/dist-packages/razor/passes.py", line 352, in peval
    force_inline(tmp.name, done.name, False, force_inline_spec)
  File "/usr/local/lib/python2.7/dist-packages/razor/passes.py", line 114, in force_inline
    shutil.copy(input_file, output_file)
  File "/usr/lib/python2.7/shutil.py", line 139, in copy
    copyfile(src, dst)
  File "/usr/lib/python2.7/shutil.py", line 96, in copyfile
    with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: '/tmp/tmpRZL3oe.bc'
------------------------------------------------------------
done
Traceback (most recent call last):
  File "/usr/local/bin/slash", line 11, in <module>
    load_entry_point('razor==1.1.0', 'console_scripts', 'slash')()
  File "/usr/local/lib/python2.7/dist-packages/razor/slash.py", line 105, in entrypoint
    return Slash(sys.argv).run() if utils.checkOccamLib() else 1
  File "/usr/local/lib/python2.7/dist-packages/razor/slash.py", line 445, in run
    ['main.iface'], use_seadsa)
  File "/usr/local/lib/python2.7/dist-packages/razor/passes.py", line 80, in propagate_interfaces
    interface(l, tf.name, [tf.name], use_seadsa)
  File "/usr/local/lib/python2.7/dist-packages/razor/passes.py", line 62, in interface
    return driver.previrt(input_file, '/dev/null', args)
  File "/usr/local/lib/python2.7/dist-packages/razor/driver.py", line 75, in previrt
    return run(config.get_llvm_tool('opt'), args, **opts)
  File "/usr/local/lib/python2.7/dist-packages/razor/driver.py", line 177, in run
    raise ex
razor.driver.ReturnCode: /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/aircrack/slash/aircrack-ng.a.i.p.bc -o=/dev/null -Pinterface -Pinterface-with-seadsa --sea-dsa-type-aware=true -Pinterface-output /tmp/tmpWpOhxD.iface -Pinterface-entry /tmp/tmpWpOhxD.iface
returned 1
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.