krace icon indicating copy to clipboard operation
krace copied to clipboard

Missing instructions of running a minimal workflow

Open Luluno01 opened this issue 2 years ago • 0 comments

Hi, I am trying to get Krace to work for a while. The code base is well organized but there is no documentation I can find in this repository. The best I can do is to guess from the Makefile and the code. So far I managed to make the following targets:

  1. docker-build: this does not seem necessary, though
  2. build-all: with kernel/linux manually checked out to tag 5.4-rc5 and kernel/racer.patch applied (it does not automatically apply the patch)
  3. spec-extract
  4. spec-compose
  5. work-prep

However, fuzz-test never seemed to end and the following error kept appearing:

WARNING unable to find ledger on disk
ERROR unable to find ledger in memory
ERROR Analysis failed: /tmp/racer-test/rs/0

fuzz-launch also reported similar error:

fuzz-launch log
Process Process-1:
Traceback (most recent call last):
  File "/usr/lib/python3.7/shutil.py", line 566, in move
    os.rename(src, real_dst)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/racer-fuzzing-ext4-dart-fuzz-launch/0/ledger' -> '/tmp/racer-fuzzing-ext4-dart-fuzz-launch/0/queue/<some hash-like name>/<another hash-like name>/0/1/ledger'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/krace/script/fuzz_engine.py", line 681, in fuzzing_process
    worker.run(seed)
  File "/krace/script/fuzz_engine.py", line 447, in run
    self._evolve(runtime, program)
  File "/krace/script/fuzz_engine.py", line 660, in _evolve
    self._evolve_ext_loop(runtime, program, True)
  File "/krace/script/fuzz_engine.py", line 636, in _evolve_ext_loop
    inner = self._evolve_mod_loop(runtime, program, True)
  File "/krace/script/fuzz_engine.py", line 591, in _evolve_mod_loop
    inner = self._evolve_rep_loop(runtime, program)
  File "/krace/script/fuzz_engine.py", line 562, in _evolve_rep_loop
    os.path.join(rpath, 'ledger')
  File "/usr/lib/python3.7/shutil.py", line 580, in move
    copy_function(src, real_dst)
  File "/usr/lib/python3.7/shutil.py", line 266, in copy2
    copyfile(src, dst, follow_symlinks=follow_symlinks)
  File "/usr/lib/python3.7/shutil.py", line 120, in copyfile
    with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/racer-fuzzing-ext4-dart-fuzz-launch/0/ledger'
<YYYY-MM-DD HH:MM:SS,FFF> WARNING unexpected death of worker instances

All these targets were built with F=ext4 I=dart.

Could you please provide detailed instructions on how to run Krace properly? Besides, it would be really nice if you can also provide detailed explaination of each component of the code and how they correspond to the counterpart in your paper. Thanks!

Luluno01 avatar May 26 '22 14:05 Luluno01