cargo-fuzz
cargo-fuzz copied to clipboard
--init in serde-json checkout panics
$ git clone 'https://github.com/serde-rs/json.git' && cd json
$ cargo fuzz --init
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /checkout/src/libcore/option.rs:323
stack backtrace:
1: 0x5623cfbb8d89 - std::sys::imp::backtrace::tracing::imp::write::hbb14611794d3841b
at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:42
2: 0x5623cfbbdf6e - std::panicking::default_hook::{{closure}}::h6ed906c7818ac88c
at /checkout/src/libstd/panicking.rs:351
3: 0x5623cfbbdb74 - std::panicking::default_hook::h23eeafbf7c1c05c3
at /checkout/src/libstd/panicking.rs:367
4: 0x5623cfbbe36b - std::panicking::rust_panic_with_hook::hd0067971b6d1240e
at /checkout/src/libstd/panicking.rs:545
5: 0x5623cfbbe1f4 - std::panicking::begin_panic::h1fd1f10a3de8f902
at /checkout/src/libstd/panicking.rs:507
6: 0x5623cfbbe169 - std::panicking::begin_panic_fmt::haa043917b5d6f21b
at /checkout/src/libstd/panicking.rs:491
7: 0x5623cfbbe0f7 - rust_begin_unwind
at /checkout/src/libstd/panicking.rs:467
8: 0x5623cfbe860d - core::panicking::panic_fmt::he9c7f335d160b59d
at /checkout/src/libcore/panicking.rs:69
9: 0x5623cfbe8544 - core::panicking::panic::hb790668694ff6b20
at /checkout/src/libcore/panicking.rs:49
10: 0x5623cf93bebc - <core::option::Option<T>>::unwrap::hbd802f172b858ee2
at /checkout/src/libcore/macros.rs:21
11: 0x5623cf949cc8 - cargo_fuzz::init_fuzz::hca902791dd2a2f92
at /home/nagisa/Documents/rust/cargo-fuzz/src/main.rs:80
12: 0x5623cf949334 - cargo_fuzz::main::hba96e14eae3eda3f
at /home/nagisa/Documents/rust/cargo-fuzz/src/main.rs:46
13: 0x5623cfbc526a - __rust_maybe_catch_panic
at /checkout/src/libpanic_unwind/lib.rs:98
14: 0x5623cfbbeb16 - std::rt::lang_start::hb7fc7ec87b663023
at /checkout/src/libstd/panicking.rs:429
at /checkout/src/libstd/panic.rs:361
at /checkout/src/libstd/rt.rs:57
15: 0x5623cf94d502 - main
16: 0x7ff37431d290 - __libc_start_main
17: 0x5623cf93a949 - _start
18: 0x0 - <unknown>
(that’s because the actual json crate is in another subdirectory within the checkout)
We need to be able to make this take a --manifest-path
argument. And give a better error message here.