Open
Description
I tried to fuzz our substrate runtime but getting error:
error: Failed to load coverage: 'target/x86_64-unknown-linux-gnu/coverage/x86_64-unknown-linux-gnu/release/main': Malformed coverage data
How to reproduce (on our large repo)
git clone --branch av/rust-1.76-support https://github.com/gear-tech/gear.git
cd gear
git checkout 849dbb301c751c951754b73b39a50a02e7296bef
cd utils/runtime-fuzzer
mkdir -p fuzz/corpus/main
dd if=/dev/urandom of=fuzz/corpus/main/fuzzer-seed-corpus bs=1 count=350000
# Run fuzzer for at least for 3 minutes and then press Ctrl-C to stop fuzzing.
cargo fuzz run \
--release \
--sanitizer=none \
main \
fuzz/corpus/main \
-- \
-rss_limit_mb=8192 \
-max_len=450000 \
-len_control=0
cargo fuzz coverage \
--release \
--sanitizer=none \
main \
fuzz/corpus/main \
-- \
-rss_limit_mb=8192 \
-max_len=450000 \
-len_control=0
HOST_TARGET=$(rustc -Vv | grep "host: " | sed "s/^host: \(.*\)$/\1/")
cargo cov -- show target/$HOST_TARGET/coverage/$HOST_TARGET/release/main \
--format=text \
--show-line-counts \
--Xdemangler=rustfilt \
--instr-profile=fuzz/coverage/main/coverage.profdata \
--ignore-filename-regex=/rustc/ \
--ignore-filename-regex=.cargo/ &> fuzz/coverage/main/coverage.txt
Meta
rustc --version --verbose
:
rustc 1.77.0-nightly (3cdd004e5 2023-12-29)
binary: rustc
commit-hash: 3cdd004e55c869faa2b7b25efd3becf50346e7d6
commit-date: 2023-12-29
host: x86_64-unknown-linux-gnu
release: 1.77.0-nightly
LLVM version: 17.0.6