ci: Use clang-8 for fuzzing to run on aarch64 ci systems #17470

pull MarcoFalke wants to merge 2 commits into bitcoin:master from MarcoFalke:1911-ciFuzzClang8 changing 2 files +4 −3
  1. MarcoFalke commented at 11:03 PM on November 13, 2019: member

    Ubuntu bionic clang is clang version 6, which does not come with libfuzzer. So the ci system breaks down when run on aarch64.

    Fix that by using clang-8

    For reference, the previous error on my ci system was:

    /usr/bin/ld: cannot find /usr/lib/llvm-6.0/lib/clang/6.0.0/lib/linux/libclang_rt.fuzzer-aarch64.a: No such file or directory
    
  2. ci: Use clang-8 for fuzzing to run on aarch64 ci systems fa6e01b2f3
  3. MarcoFalke added the label Tests on Nov 13, 2019
  4. MarcoFalke commented at 11:05 PM on November 13, 2019: member

    Excerpt from my ci system:

    Options used to compile and link:
      with wallet   = no
      with gui / qt = no
      with zmq      = no
      with test     = yes
        with prop   = no
        with fuzz   = yes
      with bench    = no
      with upnp     = no
      use asm       = yes
      sanitizers    = fuzzer,address,undefined
      debug enabled = no
      gprof enabled = no
      werror        = no
    
      target os     = linux
      build os      = 
    
      CC            = /usr/bin/ccache clang-8
      CFLAGS        = -g -O2
      CPPFLAGS      =   -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Qunused-arguments  -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS
      CXX           = /usr/bin/ccache clang++-8 -std=c++11
      CXXFLAGS      =   -Wstack-protector -fstack-protector-all  -Wall -Wextra -Wformat -Wvla -Wswitch -Wformat-security -Wthread-safety-analysis -Wrange-loop-analysis -Wredundant-decls  -Wno-unused-parameter -Wno-self-assign -Wno-unused-local-typedef -Wno-deprecated-register -Wno-implicit-fallthrough   -g -O2
      LDFLAGS       = -pthread  -Wl,-z,relro -Wl,-z,now -pie  
      ARFLAGS       = cr
    
    travis_fold:end:configure
    
    travis_fold:start:build
    Making install in src
    make[1]: Entering directory '/root/workspace/bitcoin-core/build/bitcoin-aarch64-unknown-linux-gnu/src'
    make[2]: Entering directory '/root/workspace/bitcoin-core/build/bitcoin-aarch64-unknown-linux-gnu/src'
      CXX      test/fuzz/test_fuzz_address_deserialize-fuzz.o
      CXX      test/util/test_fuzz_address_deserialize-setup_common.o
    
  5. practicalswift commented at 7:00 AM on November 14, 2019: contributor

    ACK fa6e01b2f3cd8523a95bd1906ac5e62ee3cbf319 -- diff looks correct

  6. fanquake approved
  7. fanquake commented at 6:23 PM on November 14, 2019: member

    ACK fa6e01b2f3cd8523a95bd1906ac5e62ee3cbf319

  8. fuzz: Bump timeout in test_runner to accomodate for slow arm64 CPUs fa2ec9f451
  9. MarcoFalke commented at 7:01 PM on November 14, 2019: member

    Bumped the timeout in a new commit, because it turns out that just running over the existing seeds takes 5 minutes for me:

    root@odroid:~/workspace/bitcoin-core/build/bitcoin-aarch64-unknown-linux-gnu# time ./test/fuzz/test_runner.py ../../qa-assets/fuzz_seed_corpus/
    Fuzz targets found: ['address_deserialize', 'addrman_deserialize', 'banentry_deserialize', 'bech32', 'block_deserialize', 'blockheader_deserialize', 'blocklocator_deserialize', 'blockmerkleroot', 'blocktransactions_deserialize', 'blocktransactionsrequest_deserialize', 'blockundo_deserialize', 'bloomfilter_deserialize', 'coins_deserialize', 'descriptor_parse', 'diskblockindex_deserialize', 'eval_script', 'inv_deserialize', 'messageheader_deserialize', 'netaddr_deserialize', 'parse_iso8601', 'script', 'script_flags', 'service_deserialize', 'spanparsing', 'transaction', 'txoutcompressor_deserialize', 'txundo_deserialize']
    Fuzz targets selected: ['blocktransactions_deserialize', 'bloomfilter_deserialize', 'parse_iso8601', 'txoutcompressor_deserialize', 'blocklocator_deserialize', 'diskblockindex_deserialize', 'service_deserialize', 'banentry_deserialize', 'address_deserialize', 'inv_deserialize', 'script_flags', 'coins_deserialize', 'descriptor_parse', 'blockheader_deserialize', 'block_deserialize', 'addrman_deserialize', 'messageheader_deserialize', 'blocktransactionsrequest_deserialize', 'txundo_deserialize', 'blockmerkleroot', 'eval_script', 'bech32', 'blockundo_deserialize', 'script', 'netaddr_deserialize', 'spanparsing', 'transaction']
    
    real	5m5.762s
    user	4m9.200s
    sys	0m8.390s
    
  10. laanwj commented at 1:01 PM on November 18, 2019: member

    ACK fa2ec9f4518c1da3ab3592537c6cd204693a6069

  11. laanwj referenced this in commit 24647a09e7 on Nov 18, 2019
  12. laanwj merged this on Nov 18, 2019
  13. laanwj closed this on Nov 18, 2019

  14. MarcoFalke deleted the branch on Nov 18, 2019
  15. sidhujag referenced this in commit 1052cfd8fc on Nov 18, 2019
  16. jasonbcox referenced this in commit b4bca97d7f on Oct 27, 2020
  17. sidhujag referenced this in commit 189c285ec9 on Nov 10, 2020
  18. DrahtBot locked this on Dec 16, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-17 06:14 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me