ucsb-seclab / difuze

Fuzzer for Linux Kernel Drivers
BSD 2-Clause "Simplified" License
368 stars 80 forks source link

Entries output by Bear does not have "output" field #14

Closed bofeng17 closed 4 years ago

bofeng17 commented 5 years ago

I followed the readme and hit the following error:

bo@ubuntu16-stable:~/nfs/driver_fuzz/difuze/helper_scripts$ python run_all.py -l ${BASE}/llvm_bitcode_out -a 4 -c ${BASE}/compile_commands.json -n 2 -o ${BASE}/difuze_out -k ${BASE} -f ${BASE}/ioctl_finder_out
[*]  Trying to Run Component: BearLLVMBuild
[+]  Setup for component: BearLLVMBuild  complete
[!]  Error occurred while trying to parse provided json file /home/bo/nfs/google/SM-N960F_OO_Opensource/compile_commands.json error output
[*]  Writing all compilation commands to /home/bo/nfs/llvm_bitcode_out/llvm_build.sh
[*]  Got 0 compilation commands.

I found line 43 in bear_helper.py output_file = curr_command["output"][-1] raises the exception because it cannot find the "output" filed of entries in compile_commands.json.

I am sure compile_commands.json is generated correctly by bear (I am using bear v2.3.13). I checked bear manual and found they keep changing the output format. It seems this issue can be solved by using a different version of bear. Could you please me which version of bear works? I really appreciate your help