diff --git a/fuzzers/FRET/src/fuzzer.rs b/fuzzers/FRET/src/fuzzer.rs index 00bc36de2c..b7007edbb6 100644 --- a/fuzzers/FRET/src/fuzzer.rs +++ b/fuzzers/FRET/src/fuzzer.rs @@ -4,10 +4,10 @@ use core::time::Duration; use std::{env, path::PathBuf, process::{self, abort}, io::{Read, Write}, fs::{self, OpenOptions}, cmp::{min, max}, mem::transmute_copy, collections::btree_map::Range, ptr::addr_of_mut, ffi::OsStr}; use hashbrown::HashMap; use libafl_bolts::{ -core_affinity::Cores, ownedref::OwnedMutSlice, rands::StdRand, shmem::{ShMemProvider, StdShMemProvider}, tuples::tuple_list, AsSlice +core_affinity::Cores, ownedref::OwnedMutSlice, rands::StdRand, shmem::{ShMemProvider, StdShMemProvider}, tuples::tuple_list, AsSlice, SimpleStderrLogger }; use libafl::{ -common::{HasMetadata, HasNamedMetadata}, corpus::{Corpus, InMemoryCorpus, OnDiskCorpus}, events::{launcher::Launcher, EventConfig}, executors::ExitKind, feedback_or, feedback_or_fast, feedbacks::{CrashFeedback, MaxMapFeedback, TimeoutFeedback}, fuzzer::{Fuzzer, StdFuzzer}, inputs::{multi::MultipartInput, BytesInput, HasTargetBytes, Input}, monitors::MultiMonitor, observers::{CanTrack, VariableMapObserver}, prelude::{havoc_mutations, minimizer::TopRatedsMetadata, CorpusId, Generator, HitcountsMapObserver, RandBytesGenerator, SimpleEventManager, SimpleMonitor, SimpleRestartingEventManager, StdScheduledMutator}, schedulers::QueueScheduler, stages::StdMutationalStage, state::{HasCorpus, StdState}, Error, Evaluator +common::{HasMetadata, HasNamedMetadata}, corpus::{Corpus, InMemoryCorpus, OnDiskCorpus}, events::{launcher::Launcher, EventConfig}, executors::ExitKind, feedback_or, feedback_or_fast, feedbacks::{CrashFeedback, MaxMapFeedback, TimeoutFeedback}, fuzzer::{Fuzzer, StdFuzzer}, inputs::{multi::MultipartInput, BytesInput, HasTargetBytes, Input}, monitors::MultiMonitor, observers::{CanTrack, VariableMapObserver}, prelude::{havoc_mutations, minimizer::TopRatedsMetadata, CorpusId, Generator, HitcountsMapObserver, RandBytesGenerator, SimpleEventManager, SimpleMonitor, SimplePrintingMonitor, SimpleRestartingEventManager, StdScheduledMutator}, schedulers::QueueScheduler, stages::StdMutationalStage, state::{HasCorpus, StdState}, Error, Evaluator }; use libafl_qemu::edges::EDGES_MAP_SIZE_IN_USE; use libafl_qemu::{ @@ -32,6 +32,7 @@ use crate::cli::Cli; use crate::cli::Commands; use crate::cli::set_env_from_config; use clap::Parser; +use log; // Constants ================================================================================ @@ -158,6 +159,8 @@ macro_rules! do_dump_toprated { #[allow(unused)] pub fn fuzz() { +log::set_max_level(log::LevelFilter::Info); +SimpleStderrLogger::set_logger().unwrap(); let cli = Cli::parse(); set_env_from_config(&cli.kernel, &cli.config); unsafe {FUZZ_START_TIMESTAMP = SystemTime::now();} @@ -494,7 +497,7 @@ let run_client = |state: Option<_>, mut mgr, _core_id| { // Setup an havoc mutator with a mutational stage let mutator = StdScheduledMutator::new(mutations); - let stages = (); + let stages = (systemstate::report::SchedulerStatsStage::default(),()); let mut stages = (StdMutationalStage::new(mutator), stages); #[cfg(feature = "fuzz_int")] let mut stages = (InterruptShiftStage::new(), stages); @@ -649,7 +652,7 @@ let run_client = |state: Option<_>, mut mgr, _core_id| { #[cfg(feature = "singlecore")] { - let monitor = SimpleMonitor::new(|s| println!("{}", s)); + let monitor = SimplePrintingMonitor::new(); #[cfg(not(feature = "restarting"))] { let mgr = SimpleEventManager::new(monitor); diff --git a/fuzzers/FRET/src/systemstate/report.rs b/fuzzers/FRET/src/systemstate/report.rs index aec71d004b..99832253b4 100644 --- a/fuzzers/FRET/src/systemstate/report.rs +++ b/fuzzers/FRET/src/systemstate/report.rs @@ -45,14 +45,14 @@ where state: &mut ::State, _manager: &mut EM, ) -> Result<(), Error> { - let Some(corpus_idx) = state.current_corpus_id()? else { - return Err(Error::illegal_state( - "state is not currently processing a corpus index", - )); - }; + // let Some(corpus_idx) = state.current_corpus_id()? else { + // return Err(Error::illegal_state( + // "state is not currently processing a corpus index", + // )); + // }; - let corpus_size = state.corpus().count(); + // let corpus_size = state.corpus().count(); let cur = current_time();