Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update full_stack_target to take an arbitrary config object #2810

Merged

Commits on Feb 2, 2024

  1. Disable fuzzing-reachable debug assertion

    Because of txid conflicts, a txid can match both a local and remote
    commitment transaction when fuzzing. Thus, we disable this
    assertion when fuzzing.
    TheBlueMatt committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    c725842 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    248e2f5 View commit details
    Browse the repository at this point in the history
  3. Use arbitrary config object in full_stack_target fuzzer

    As we've added more and more configuration parameters which change
    our behavior, we're increasingly missing coverage in the general
    `full_stack_target` fuzzer. Sadly, a reachable `unwrap` slipped in
    uncaught that should have been stopped by the `full_stack_target`.
    
    Here, we update the `full_stack_target` fuzzer to read a full
    config object to substantially increase coverage.
    TheBlueMatt committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    f62a96e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    76ed917 View commit details
    Browse the repository at this point in the history
  5. Use utility methods to construct HashMaps and HashSets

    In the next commit we'll bump the `hashbrown` version, which no
    longer randomizes its hasher by default. Thus, we'll need to call
    a different constructor in no-std builds from std builds.
    
    Here we do a quick prefactor to use wrappers for constructors
    instead of calling the tables directly to make the version bump
    changeset smaller.
    TheBlueMatt committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    3e0d55b View commit details
    Browse the repository at this point in the history
  6. Stop relying on Hash{Set,Map}::from_iter directly

    In the next commit we'll bump the `hashbrown` version, which no
    longer randomizes its hasher by default. Thus, we'll need to call
    a different constructor in no-std builds from std builds.
    
    Here we do a quick prefactor to use wrappers for `FromIterator`
    constructors instead of calling the tables directly to make the
    version bump changeset smaller.
    TheBlueMatt committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    efbaa41 View commit details
    Browse the repository at this point in the history
  7. Bump hashbrown dependency to 0.13

    While this isn't expected to materially improve performance, it
    does get us ahash 0.8, which allows us to reduce fuzzing
    randomness, making our fuzzers much happier.
    
    Sadly, by default `ahash` no longer tries to autodetect a
    randomness source, so we cannot simply rely on `hashbrown` to do
    randomization for us, but rather have to also explicitly depend on
    `ahash`.
    TheBlueMatt committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    dedc830 View commit details
    Browse the repository at this point in the history
  8. Fix test variable typos

    TheBlueMatt committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    c9e4410 View commit details
    Browse the repository at this point in the history
  9. [fuzz] Fix slice copy in peer_crypt_target

    This has apparently been broken for quite some time...I guess
    `peer_crypt_target` doesn't get much CPU anymore.
    TheBlueMatt committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    7377cc9 View commit details
    Browse the repository at this point in the history