AFLplusplus: Unicorn tests fail on Raspberry Pi 4

On my Raspberry Pi 4 (4GB) running Raspbian 32-Bit, I tried to run tests with unicorn_mode. Building unicorn_mode proceeded without error, but testing failed

[*] Testing: unicorn_mode                                                                                                                                                                   
[*] Using python binary /usr/bin/python                                                                                                                                                     
[*] running afl-fuzz for unicorn_mode, this will take approx 25 seconds                                                                                                                     
CUT------------------------------------------------------------------CUT                                                                                                                    
[*] Spinning up the fork server...                                                                                                                                                            
[+] All right - fork server is up.                                                                                                                                                            
afl-fuzz++2.59d based on afl by Michal Zalewski and a big online community                                                                                                                  
[+] afl++ is maintained by Marc "van Hauser" Heuse, Heiko "hexcoder" Eissfeldt and Andrea Fioraldi                                                                                            
[+] afl++ is open source, get it at https://github.com/vanhauser-thc/AFLplusplus                                                                                                              
[+] Power schedules from github.com/mboehme/aflfast                                                                                                                                           
[+] Python Mutator and llvm_mode whitelisting from github.com/choller/afl                                                                                                                     
[+] afl-tmin fork server patch from github.com/nccgroup/TriforceAFL                                                                                                                           
[+] MOpt Mutator from github.com/puppet-meteor/MOpt-AFL                                                                                                                                       
[*] Getting to work...                                                                                                                                                                        
[+] Using exploration-based constant power schedule (EXPLORE)                                                                                                                                 
[+] Looks like we're not running on a tty, so I'll be a bit less verbose.                                                                                                                     
[+] You have 4 CPU cores and 1 runnable tasks (utilization: 25%).                                                                                                                             
[+] Try parallel jobs - see docs/parallel_fuzzing.txt.                                                                                                                                        
[*] Checking CPU core loadout...                                                                                                                                                              
[+] Found a free CPU core, binding to #0.                                                                                                                                                     
[*] Checking core_pattern...                                                                                                                                                                  
[*] Setting up output directories...                                                                                                                                                          
[*] Scanning 'in'...                                                                                                                                                                          
[+] No auto-generated dictionary tokens to reuse.                                                                                                                                             
[*] Creating hard links for all input files...                                                                                                                                                
[*] Validating target binary...                                                                                                                                                               
[*] Attempting dry run with 'id:000000,time:0,orig:in'...                                                                                                                                     

[-] Oops, the program crashed with one of the test cases provided. There are                                                                                                                  
    several possible explanations:                                                                                                                                                            

    - The test case causes known crashes under normal working conditions. If                                                                                                                  
      so, please remove it. The fuzzer should be seeded with interesting                                                                                                                      
      inputs - but not ones that cause an outright crash.                                                                                                                                     

    - The current memory limit (200 MB) is too low for this program, causing                                                                                                                  
      it to die due to OOM when parsing valid files. To fix this, try                                                                                                                         
      bumping it up with the -m setting in the command line. If in doubt,                                                                                                                     
      try something along the lines of:                                                                                                                                                       

      ( ulimit -Sd $[199 << 10]; /path/to/binary [...] <testcase )                                                                                                                            

      Tip: you can use http://jwilk.net/software/recidivm to quickly                                                                                                                          
      estimate the required amount of virtual memory for the binary. Also,                                                                                                                    
      if you are using ASAN, see docs/notes_for_asan.txt.                                                                                                                                     

    - Least likely, there is a horrible bug in the fuzzer. If other options                                                                                                                   
      fail, poke <afl-users@googlegroups.com> for troubleshooting tips.                                                                                                                       

[-] PROGRAM ABORT : Test case 'id:000000,time:0,orig:in' results in a crash                                                                                                                 
         Location : perform_dry_run(), src/afl-fuzz-init.c:603                                                                                                                              

CUT------------------------------------------------------------------CUT                                                                                                                      
[!] afl-fuzz is not working correctly with unicorn_mode

I assume this should work (since unicorn does support ARM). Thanks!

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 28 (26 by maintainers)

Commits related to this issue

Most upvoted comments

@andreafioraldi Sure, will do after work.