Skip to content

[IPFS] Initial fuzzing of datastore consistency#3739

Merged
inferno-chromium merged 2 commits intogoogle:masterfrom
willscott:ipfs
May 3, 2020
Merged

[IPFS] Initial fuzzing of datastore consistency#3739
inferno-chromium merged 2 commits intogoogle:masterfrom
willscott:ipfs

Conversation

@willscott
Copy link
Contributor

Submitting IPFS for initial integration.

This initial fuzz testing validates the interface of the multiple
datastores backing of IPFS. A fuzzer for the protocol between nodes will follow.

Submitting IPFS for initial integration.
Initial fuzz testing is validating the interface of the multiple
datastore backings of IPFS. A fuzzer for the protocol between
nodes will follow.
@googlebot
Copy link

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

ℹ️ Googlers: Go here for more info.

@willscott
Copy link
Contributor Author

@googlebot I signed it!

@googlebot
Copy link

CLAs look good, thanks!

ℹ️ Googlers: Go here for more info.

@TravisBuddy
Copy link

Travis tests have failed

Hey @willscott,
Please read the following log in order to understand the failure reason.
It'll be awesome if you fix what's wrong and commit the changes.

1st Build

View build log

./infra/travis/travis_build.py
Building project ipfs
Running command: python /home/travis/build/google/oss-fuzz/infra/helper.py build_fuzzers ipfs --engine libfuzzer --sanitizer address --architecture x86_64
Running: docker build -t gcr.io/oss-fuzz/ipfs projects/ipfs

Step 1/5 : FROM gcr.io/oss-fuzz-base/base-builder
latest: Pulling from oss-fuzz-base/base-builder






















Digest: sha256:fe53488982baaa9cfa4ec6844c9021e670ad80bd64ebf4b3ac93eb4d754d3a2d
Status: Downloaded newer image for gcr.io/oss-fuzz-base/base-builder:latest
 ---> 8611a5f1c832
Step 2/5 : MAINTAINER willscott@protocol.io
 ---> Running in 55bc344239ce
Removing intermediate container 55bc344239ce
 ---> 3c4aa5e96fe4
Step 3/5 : RUN go get -t github.com/ipfs/go-datastore
 ---> Running in 88752180380e
Removing intermediate container 88752180380e
 ---> 103886043d28
Step 4/5 : COPY build.sh $SRC/
 ---> add553d7945d
Step 5/5 : WORKDIR $SRC/
 ---> Running in f6be6f115c84
Removing intermediate container f6be6f115c84
 ---> afb25cddf798
Successfully built afb25cddf798
Successfully tagged gcr.io/oss-fuzz/ipfs:latest
Keeping existing build artifacts as-is (if any).
Running: docker run --rm --privileged -i --cap-add SYS_PTRACE -e FUZZING_ENGINE=libfuzzer -e SANITIZER=address -e ARCHITECTURE=x86_64 -v /home/travis/build/google/oss-fuzz/build/out/ipfs:/out -v /home/travis/build/google/oss-fuzz/build/work/ipfs:/work -t gcr.io/oss-fuzz/ipfs
---------------------------------------------------------------
Compiling libFuzzer to /usr/lib/libFuzzingEngine.a... ar: creating /usr/lib/libFuzzingEngine.a
 done.
CC=clang
CXX=clang++
CFLAGS=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link
CXXFLAGS=-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link -stdlib=libc++
---------------------------------------------------------------
+ cd /root/go/src/github.com/ipfs/go-datastore/fuzz
+ DS_PROVIDERS=github.com/ipfs/go-ds-badger,github.com/ipfs/go-ds-badger2
+ go generate
go: downloading github.com/jbenet/goprocess v0.1.4
go: downloading github.com/google/uuid v1.1.1
+ go mod vendor
go: downloading github.com/spf13/pflag v1.0.3
+ mkdir .gopath
+ cd .gopath
+ ln -s ../vendor src
+ cd ..
+ fuzzer=ipfs_ds_fuzzer
+ GO111MODULE=off
+ GOPATH=/root/go/src/github.com/ipfs/go-datastore/fuzz/.gopath
+ go-fuzz -o ipfs_ds_fuzzer.a .
+ clang++ -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link -stdlib=libc++ -fsanitize=fuzzer ipfs_ds_fuzzer.a -o /out/ipfs_ds_fuzzer
Running command: python /home/travis/build/google/oss-fuzz/infra/helper.py check_build ipfs --engine libfuzzer --sanitizer address --architecture x86_64
Running: docker run --rm --privileged -i -e FUZZING_ENGINE=libfuzzer -e SANITIZER=address -e ARCHITECTURE=x86_64 -v /home/travis/build/google/oss-fuzz/build/out/ipfs:/out -t gcr.io/oss-fuzz-base/base-runner test_all
Unable to find image 'gcr.io/oss-fuzz-base/base-runner:latest' locally
latest: Pulling from oss-fuzz-base/base-runner













Digest: sha256:37c525f11c857b9b57267e3959b865b7e3212e9cf7066407005b120472722b15
Status: Downloaded newer image for gcr.io/oss-fuzz-base/base-runner:latest
INFO: performing bad build checks for /tmp/not-out/ipfs_ds_fuzzer.
 a detailed information.
Check build failed.
Failed projects: ipfs
TravisBuddy Request Identifier: 7c0b35c0-8a8e-11ea-b0c3-9bf8056a98a6

@TravisBuddy
Copy link

Hey @willscott,
Your changes look good to me!

View build log

TravisBuddy Request Identifier: 45f58cc0-8a92-11ea-b0c3-9bf8056a98a6

@inferno-chromium inferno-chromium merged commit c562afe into google:master May 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants