Skip to content

Commit ea6e440

Browse files
authored
Re-Rename Retrying Restart Helper (#2340)
1 parent 3616cc6 commit ea6e440

File tree

12 files changed

+67
-67
lines changed

12 files changed

+67
-67
lines changed

fuzzers/baby_fuzzer_wasm/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use libafl::{
1111
mutators::{havoc_mutations, StdScheduledMutator},
1212
observers::StdMapObserver,
1313
schedulers::QueueScheduler,
14-
stages::{StdRestartHelper, StdMutationalStage},
14+
stages::{RetryCountRestartHelper, StdMutationalStage},
1515
state::{HasSolutions, StdState},
1616
Fuzzer, StdFuzzer,
1717
};
@@ -44,7 +44,7 @@ pub fn fuzz() {
4444
// No concurrency in WASM so these accesses are not racing.
4545
unsafe {
4646
RegistryBuilder::register::<MapFeedbackMetadata<u8>>();
47-
RegistryBuilder::register::<StdRestartHelper>();
47+
RegistryBuilder::register::<RetryCountRestartHelper>();
4848
}
4949

5050
let mut signals = [0u8; 64];

libafl/src/stages/calibrate.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use crate::{
2020
monitors::{AggregatorOps, UserStats, UserStatsValue},
2121
observers::{MapObserver, ObserversTuple},
2222
schedulers::powersched::SchedulerMetadata,
23-
stages::{Stage, StdRestartHelper},
23+
stages::{RetryCountRestartHelper, Stage},
2424
state::{HasCorpus, HasCurrentTestcase, HasExecutions, UsesState},
2525
Error, HasMetadata, HasNamedMetadata,
2626
};
@@ -353,15 +353,15 @@ where
353353
fn should_restart(&mut self, state: &mut Self::State) -> Result<bool, Error> {
354354
// Calibration stage disallow restarts
355355
// If a testcase that causes crash/timeout in the queue, we need to remove it from the queue immediately.
356-
StdRestartHelper::no_retry(state, &self.name)
356+
RetryCountRestartHelper::no_retry(state, &self.name)
357357

358358
// todo
359359
// remove this guy from corpus queue
360360
}
361361

362362
fn clear_progress(&mut self, state: &mut Self::State) -> Result<(), Error> {
363363
// TODO: Make sure this is the correct way / there may be a better way?
364-
StdRestartHelper::clear_progress(state, &self.name)
364+
RetryCountRestartHelper::clear_progress(state, &self.name)
365365
}
366366
}
367367

libafl/src/stages/colorization.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use crate::{
1919
inputs::HasMutatorBytes,
2020
mutators::mutations::buffer_copy,
2121
observers::{MapObserver, ObserversTuple},
22-
stages::{Stage, StdRestartHelper},
22+
stages::{RetryCountRestartHelper, Stage},
2323
state::{HasCorpus, HasCurrentTestcase, HasRand, UsesState},
2424
Error, HasMetadata, HasNamedMetadata,
2525
};
@@ -112,11 +112,11 @@ where
112112
// This is a deterministic stage
113113
// Once it failed, then don't retry,
114114
// It will just fail again
115-
StdRestartHelper::no_retry(state, &self.name)
115+
RetryCountRestartHelper::no_retry(state, &self.name)
116116
}
117117

118118
fn clear_progress(&mut self, state: &mut Self::State) -> Result<(), Error> {
119-
StdRestartHelper::clear_progress(state, &self.name)
119+
RetryCountRestartHelper::clear_progress(state, &self.name)
120120
}
121121
}
122122

libafl/src/stages/concolic.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use crate::state::HasClientPerfMonitor;
1919
use crate::{
2020
executors::{Executor, HasObservers},
2121
observers::concolic::ConcolicObserver,
22-
stages::{Stage, StdRestartHelper, TracingStage},
22+
stages::{RetryCountRestartHelper, Stage, TracingStage},
2323
state::{HasCorpus, HasCurrentTestcase, HasExecutions, UsesState},
2424
Error, HasMetadata, HasNamedMetadata,
2525
};
@@ -88,11 +88,11 @@ where
8888
// This is a deterministic stage
8989
// Once it failed, then don't retry,
9090
// It will just fail again
91-
StdRestartHelper::no_retry(state, &self.name)
91+
RetryCountRestartHelper::no_retry(state, &self.name)
9292
}
9393

9494
fn clear_progress(&mut self, state: &mut Self::State) -> Result<(), Error> {
95-
StdRestartHelper::clear_progress(state, &self.name)
95+
RetryCountRestartHelper::clear_progress(state, &self.name)
9696
}
9797
}
9898

@@ -436,12 +436,12 @@ where
436436
// This is a deterministic stage
437437
// Once it failed, then don't retry,
438438
// It will just fail again
439-
StdRestartHelper::no_retry(state, &self.name)
439+
RetryCountRestartHelper::no_retry(state, &self.name)
440440
}
441441

442442
#[inline]
443443
fn clear_progress(&mut self, state: &mut Self::State) -> Result<(), Error> {
444-
StdRestartHelper::clear_progress(state, &self.name)
444+
RetryCountRestartHelper::clear_progress(state, &self.name)
445445
}
446446
}
447447

libafl/src/stages/generalization.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use crate::{
1919
mark_feature_time,
2020
observers::{CanTrack, MapObserver, ObserversTuple},
2121
require_novelties_tracking,
22-
stages::{Stage, StdRestartHelper},
22+
stages::{RetryCountRestartHelper, Stage},
2323
start_timer,
2424
state::{HasCorpus, HasExecutions, UsesState},
2525
Error, HasMetadata, HasNamedMetadata,
@@ -328,13 +328,13 @@ where
328328
#[inline]
329329
fn should_restart(&mut self, state: &mut Self::State) -> Result<bool, Error> {
330330
// TODO: We need to be able to resume better if something crashes or times out
331-
StdRestartHelper::should_restart(state, &self.name, 3)
331+
RetryCountRestartHelper::should_restart(state, &self.name, 3)
332332
}
333333

334334
#[inline]
335335
fn clear_progress(&mut self, state: &mut Self::State) -> Result<(), Error> {
336336
// TODO: We need to be able to resume better if something crashes or times out
337-
StdRestartHelper::clear_progress(state, &self.name)
337+
RetryCountRestartHelper::clear_progress(state, &self.name)
338338
}
339339
}
340340

libafl/src/stages/logics.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ use crate::{
1010

1111
/// Progress for nested stages. This merely enters/exits the inner stage's scope.
1212
#[derive(Debug)]
13-
pub struct NestedStageStdRestartHelper;
13+
pub struct NestedStageRetryCountRestartHelper;
1414

15-
impl NestedStageStdRestartHelper {
15+
impl NestedStageRetryCountRestartHelper {
1616
fn should_restart<S, ST>(state: &mut S, _stage: &ST) -> Result<bool, Error>
1717
where
1818
S: HasNestedStageStatus,
@@ -71,11 +71,11 @@ where
7171
}
7272

7373
fn should_restart(&mut self, state: &mut Self::State) -> Result<bool, Error> {
74-
NestedStageStdRestartHelper::should_restart(state, self)
74+
NestedStageRetryCountRestartHelper::should_restart(state, self)
7575
}
7676

7777
fn clear_progress(&mut self, state: &mut Self::State) -> Result<(), Error> {
78-
NestedStageStdRestartHelper::clear_progress(state, self)
78+
NestedStageRetryCountRestartHelper::clear_progress(state, self)
7979
}
8080
}
8181

@@ -135,11 +135,11 @@ where
135135
}
136136

137137
fn should_restart(&mut self, state: &mut Self::State) -> Result<bool, Error> {
138-
NestedStageStdRestartHelper::should_restart(state, self)
138+
NestedStageRetryCountRestartHelper::should_restart(state, self)
139139
}
140140

141141
fn clear_progress(&mut self, state: &mut Self::State) -> Result<(), Error> {
142-
NestedStageStdRestartHelper::clear_progress(state, self)
142+
NestedStageRetryCountRestartHelper::clear_progress(state, self)
143143
}
144144
}
145145

@@ -220,11 +220,11 @@ where
220220
}
221221

222222
fn should_restart(&mut self, state: &mut Self::State) -> Result<bool, Error> {
223-
NestedStageStdRestartHelper::should_restart(state, self)
223+
NestedStageRetryCountRestartHelper::should_restart(state, self)
224224
}
225225

226226
fn clear_progress(&mut self, state: &mut Self::State) -> Result<(), Error> {
227-
NestedStageStdRestartHelper::clear_progress(state, self)
227+
NestedStageRetryCountRestartHelper::clear_progress(state, self)
228228
}
229229
}
230230

@@ -281,11 +281,11 @@ where
281281
}
282282

283283
fn should_restart(&mut self, state: &mut Self::State) -> Result<bool, Error> {
284-
NestedStageStdRestartHelper::should_restart(state, self)
284+
NestedStageRetryCountRestartHelper::should_restart(state, self)
285285
}
286286

287287
fn clear_progress(&mut self, state: &mut Self::State) -> Result<(), Error> {
288-
NestedStageStdRestartHelper::clear_progress(state, self)
288+
NestedStageRetryCountRestartHelper::clear_progress(state, self)
289289
}
290290
}
291291

libafl/src/stages/mod.rs

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -336,12 +336,12 @@ where
336336
fn should_restart(&mut self, state: &mut Self::State) -> Result<bool, Error> {
337337
// There's no restart safety in the content of the closure.
338338
// don't restart
339-
StdRestartHelper::no_retry(state, &self.name)
339+
RetryCountRestartHelper::no_retry(state, &self.name)
340340
}
341341

342342
#[inline]
343343
fn clear_progress(&mut self, state: &mut Self::State) -> Result<(), Error> {
344-
StdRestartHelper::clear_progress(state, &self.name)
344+
RetryCountRestartHelper::clear_progress(state, &self.name)
345345
}
346346
}
347347

@@ -481,26 +481,26 @@ where
481481
#[inline]
482482
fn should_restart(&mut self, state: &mut Self::State) -> Result<bool, Error> {
483483
// TODO: Proper restart handling - call post_exec at the right time, etc...
484-
StdRestartHelper::no_retry(state, &self.name)
484+
RetryCountRestartHelper::no_retry(state, &self.name)
485485
}
486486

487487
#[inline]
488488
fn clear_progress(&mut self, state: &mut Self::State) -> Result<(), Error> {
489-
StdRestartHelper::clear_progress(state, &self.name)
489+
RetryCountRestartHelper::clear_progress(state, &self.name)
490490
}
491491
}
492492

493493
/// Progress which permits a fixed amount of resumes per round of fuzzing. If this amount is ever
494494
/// exceeded, the input will no longer be executed by this stage.
495495
#[derive(Clone, Deserialize, Serialize, Debug)]
496-
pub struct StdRestartHelper {
496+
pub struct RetryCountRestartHelper {
497497
tries_remaining: Option<usize>,
498498
skipped: HashSet<CorpusId>,
499499
}
500500

501-
impl_serdeany!(StdRestartHelper);
501+
impl_serdeany!(RetryCountRestartHelper);
502502

503-
impl StdRestartHelper {
503+
impl RetryCountRestartHelper {
504504
/// Don't allow restart
505505
pub fn no_retry<S>(state: &mut S, name: &str) -> Result<bool, Error>
506506
where
@@ -518,7 +518,7 @@ impl StdRestartHelper {
518518
{
519519
let corpus_id = state.current_corpus_id()?.ok_or_else(|| {
520520
Error::illegal_state(
521-
"No current_corpus_id set in State, but called StdRestartHelper::should_skip",
521+
"No current_corpus_id set in State, but called RetryCountRestartHelper::should_skip",
522522
)
523523
})?;
524524

@@ -689,7 +689,7 @@ pub mod test {
689689
use crate::{
690690
corpus::{Corpus, HasCurrentCorpusId, Testcase},
691691
inputs::NopInput,
692-
stages::{Stage, StdRestartHelper},
692+
stages::{RetryCountRestartHelper, Stage},
693693
state::{test::test_std_state, HasCorpus, State, UsesState},
694694
HasMetadata,
695695
};
@@ -776,7 +776,7 @@ pub mod test {
776776
// No concurrency per testcase
777777
#[cfg(any(not(feature = "serdeany_autoreg"), miri))]
778778
unsafe {
779-
StdRestartHelper::register();
779+
RetryCountRestartHelper::register();
780780
}
781781

782782
struct StageWithOneTry;
@@ -797,58 +797,58 @@ pub mod test {
797797

798798
for _ in 0..10 {
799799
// used normally, no retries means we never skip
800-
assert!(StdRestartHelper::should_restart(
800+
assert!(RetryCountRestartHelper::should_restart(
801801
&mut state,
802802
stage.name(),
803803
1
804804
)?);
805-
StdRestartHelper::clear_progress(&mut state, stage.name())?;
805+
RetryCountRestartHelper::clear_progress(&mut state, stage.name())?;
806806
}
807807

808808
for _ in 0..10 {
809809
// used normally, only one retry means we never skip
810-
assert!(StdRestartHelper::should_restart(
810+
assert!(RetryCountRestartHelper::should_restart(
811811
&mut state,
812812
stage.name(),
813813
2
814814
)?);
815-
assert!(StdRestartHelper::should_restart(
815+
assert!(RetryCountRestartHelper::should_restart(
816816
&mut state,
817817
stage.name(),
818818
2
819819
)?);
820-
StdRestartHelper::clear_progress(&mut state, stage.name())?;
820+
RetryCountRestartHelper::clear_progress(&mut state, stage.name())?;
821821
}
822822

823-
assert!(StdRestartHelper::should_restart(
823+
assert!(RetryCountRestartHelper::should_restart(
824824
&mut state,
825825
stage.name(),
826826
2
827827
)?);
828828
// task failed, let's resume
829829
// we still have one more try!
830-
assert!(StdRestartHelper::should_restart(
830+
assert!(RetryCountRestartHelper::should_restart(
831831
&mut state,
832832
stage.name(),
833833
2
834834
)?);
835835

836836
// task failed, let's resume
837837
// out of retries, so now we skip
838-
assert!(!StdRestartHelper::should_restart(
838+
assert!(!RetryCountRestartHelper::should_restart(
839839
&mut state,
840840
stage.name(),
841841
2
842842
)?);
843-
StdRestartHelper::clear_progress(&mut state, stage.name())?;
843+
RetryCountRestartHelper::clear_progress(&mut state, stage.name())?;
844844

845845
// we previously exhausted this testcase's retries, so we skip
846-
assert!(!StdRestartHelper::should_restart(
846+
assert!(!RetryCountRestartHelper::should_restart(
847847
&mut state,
848848
stage.name(),
849849
2
850850
)?);
851-
StdRestartHelper::clear_progress(&mut state, stage.name())?;
851+
RetryCountRestartHelper::clear_progress(&mut state, stage.name())?;
852852

853853
Ok(())
854854
}

libafl/src/stages/mutational.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use crate::{
1515
inputs::Input,
1616
mark_feature_time,
1717
mutators::{MultiMutator, MutationResult, Mutator},
18-
stages::{Stage, StdRestartHelper},
18+
stages::{RetryCountRestartHelper, Stage},
1919
start_timer,
2020
state::{HasCorpus, HasCurrentTestcase, HasExecutions, HasRand, UsesState},
2121
Error, HasMetadata, HasNamedMetadata,
@@ -237,11 +237,11 @@ where
237237
}
238238

239239
fn should_restart(&mut self, state: &mut Self::State) -> Result<bool, Error> {
240-
StdRestartHelper::should_restart(state, &self.name, 3)
240+
RetryCountRestartHelper::should_restart(state, &self.name, 3)
241241
}
242242

243243
fn clear_progress(&mut self, state: &mut Self::State) -> Result<(), Error> {
244-
StdRestartHelper::clear_progress(state, &self.name)
244+
RetryCountRestartHelper::clear_progress(state, &self.name)
245245
}
246246
}
247247

@@ -335,12 +335,12 @@ where
335335
#[inline]
336336
fn should_restart(&mut self, state: &mut Self::State) -> Result<bool, Error> {
337337
// Make sure we don't get stuck crashing on a single testcase
338-
StdRestartHelper::should_restart(state, &self.name, 3)
338+
RetryCountRestartHelper::should_restart(state, &self.name, 3)
339339
}
340340

341341
#[inline]
342342
fn clear_progress(&mut self, state: &mut Self::State) -> Result<(), Error> {
343-
StdRestartHelper::clear_progress(state, &self.name)
343+
RetryCountRestartHelper::clear_progress(state, &self.name)
344344
}
345345

346346
#[inline]

0 commit comments

Comments
 (0)