Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues
Report generation date: 2024-11-24

Project overview: brpc

High level conclusions

Reachability and coverage overview

Functions statically reachable by fuzzers
8.0%
2223 / 28768
Cyclomatic complexity statically reachable by fuzzers
7.00%
8901 / 134382
Runtime code coverage of functions
5.0%
1522 / 28768

Fuzzer details

Fuzzer: fuzz_json

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 978 98.9%
gold [1:9] 9 0.91%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1 0.10%
All colors 988 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
18258 32754 18 :

['logging::LogStream& logging::LogStream::operator<< , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&)', 'std::lock_guard ::lock_guard(pthread_mutex_t&)', 'logging::LogMessage::stream()', 'std::__cxx11::basic_string , std::allocator >* logging::CheckEQImpl (unsigned long const&, unsigned long const&, char const*)', 'logging::LogMessage::LogMessage(char const*, int, char const*, std::__cxx11::basic_string , std::allocator >*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [2])', 'bvar::VarEntry* butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::seek , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&) const', 'std::__cxx11::basic_string , std::allocator >::clear()', 'logging::LogStream::SetCheck()', 'logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'bvar::get_var_map(std::__cxx11::basic_string , std::allocator > const&)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'std::lock_guard ::~lock_guard()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'std::enable_if ::type butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::erase , std::allocator >, false>(std::__cxx11::basic_string , std::allocator > const&, bvar::VarEntry*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [13])', 'logging::LogMessage::~LogMessage()']

18258 32754 bvar::Variable::hide() call site: 00000 /src/brpc/src/bvar/variable.cpp:185
10848 10848 8 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::NewBucketsInfo::NewBucketsInfo()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10848 10890 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::new_buckets_and_thumbnail(unsignedlong,unsignedlong) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:782
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::stream()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:356
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::detail::AgentCombiner ::get_or_create_tls_agent() call site: 00000 /src/brpc/src/bvar/detail/combiner.h:298
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::Reducer ::operator<<(bvar::detail::Sampler*const&) call site: 00000 /src/brpc/src/bvar/reducer.h:195
12 12 1 :

['dlsym']

12 12 bthread::init_sys_mutex_lock() call site: 00000 /src/brpc/src/bthread/mutex.cpp:445
10 10 4 :

['logging::LogStream::SetCheck()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'logging::LogStream& logging::LogStream::operator<< (int const&)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [12])']

10852 10852 bvar::detail::AgentGroup ::Agent>::get_or_create_tls_agent(int) call site: 00000 /src/brpc/src/bvar/detail/agent_group.h:131
10 10 1 :

['butil::internal::WaitForInstance(long*)']

10 10 Singleton ,butil::ThreadIdNameManager>::get() call site: 00000 /src/brpc/src/butil/memory/singleton.h:254
8 8 2 :

['logging::LogStream& logging::LogStream::operator<< (unsigned long const&)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [31])']

10852 10852 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:340
8 8 2 :

['logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogStream& logging::LogStream::operator<< (unsigned int const&)']

10852 10852 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:344
2 2 1 :

['logging::LogStream& logging::LogStream::operator<< (char const (&) [18])']

10846 10846 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:352
2 2 1 :

['logging::LogStream& logging::LogStream::operator<< (char const (&) [25])']

10846 10846 bvar::Variable::expose_impl(butil::BasicStringPiece ,std::allocator >>const&,butil::BasicStringPiece ,std::allocator >>const&,bvar::DisplayFilter) call site: 00000 /src/brpc/src/bvar/variable.cpp:129

Runtime coverage analysis

Covered functions
442
Functions that are reachable but not covered
775
Reachable functions
783
Percentage of reachable functions covered
1.02%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/brpc/test/fuzzing/fuzz_json.cpp 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h 27
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/ptr_traits.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/allocator.h 3
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h 11
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/char_traits.h 3
/src/brpc/build/test/addressbook1.pb.cc 3
/usr/include/google/protobuf/message.h 3
/usr/include/google/protobuf/message_lite.h 2
/usr/include/google/protobuf/metadata.h 1
/usr/include/google/protobuf/metadata_lite.h 4
/usr/include/google/protobuf/generated_message_util.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/atomic 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/atomic_base.h 1
/usr/include/google/protobuf/repeated_field.h 17
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h 5
/usr/include/google/protobuf/unknown_field_set.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/type_traits.h 1
/src/brpc/src/json2pb/json_to_pb.cpp 15
/src/brpc/src/butil/third_party/rapidjson/document.h 95
/src/brpc/src/butil/third_party/rapidjson/internal/stack.h 16
/src/brpc/src/butil/third_party/rapidjson/error/error.h 7
/src/brpc/src/butil/third_party/rapidjson/error/../allocators.h 8
/src/brpc/src/butil/third_party/rapidjson/error/../rapidjson.h 6
/src/brpc/src/butil/third_party/rapidjson/reader.h 38
/src/brpc/src/butil/third_party/rapidjson/error/../encodings.h 1
/src/brpc/src/butil/third_party/rapidjson/internal/strtod.h 2
/src/brpc/src/butil/third_party/rapidjson/internal/pow10.h 1
/src/brpc/src/butil/third_party/rapidjson/error/en.h 1
/src/brpc/src/butil/string_printf.cpp 3
/usr/include/google/protobuf/descriptor.h 13
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_vector.h 17
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 9
/usr/include/google/protobuf/stubs/once.h 2
/src/brpc/src/butil/strings/string_piece.h 6
/src/brpc/src/butil/strings/string_number_conversions.cc 22
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/limits 7
/src/brpc/src/butil/base64.cc 1
/src/brpc/src/butil/third_party/modp_b64/modp_b64.cc 1
/src/brpc/src/json2pb/encode_decode.cpp 2
/src/brpc/src/butil/third_party/rapidjson/internal/strfunc.h 1
/src/brpc/src/json2pb/protobuf_map.cpp 1

Fuzzer: fuzz_redis

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 2691 94.2%
gold [1:9] 126 4.41%
yellow [10:29] 0 0.0%
greenyellow [30:49] 27 0.94%
lawngreen 50+ 11 0.38%
All colors 2855 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
18258 32754 18 :

['logging::LogStream& logging::LogStream::operator<< , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&)', 'std::lock_guard ::lock_guard(pthread_mutex_t&)', 'logging::LogMessage::stream()', 'std::__cxx11::basic_string , std::allocator >* logging::CheckEQImpl (unsigned long const&, unsigned long const&, char const*)', 'logging::LogMessage::LogMessage(char const*, int, char const*, std::__cxx11::basic_string , std::allocator >*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [2])', 'bvar::VarEntry* butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::seek , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&) const', 'std::__cxx11::basic_string , std::allocator >::clear()', 'logging::LogStream::SetCheck()', 'logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'bvar::get_var_map(std::__cxx11::basic_string , std::allocator > const&)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'std::lock_guard ::~lock_guard()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'std::enable_if ::type butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::erase , std::allocator >, false>(std::__cxx11::basic_string , std::allocator > const&, bvar::VarEntry*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [13])', 'logging::LogMessage::~LogMessage()']

18258 32754 bvar::Variable::hide() call site: 00000 /src/brpc/src/bvar/variable.cpp:185
10848 10848 8 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::NewBucketsInfo::NewBucketsInfo()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10848 10890 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::new_buckets_and_thumbnail(unsignedlong,unsignedlong) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:782
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::stream()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:356
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::detail::AgentCombiner ::get_or_create_tls_agent() call site: 00000 /src/brpc/src/bvar/detail/combiner.h:298
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::Reducer ::operator<<(bvar::detail::Sampler*const&) call site: 00000 /src/brpc/src/bvar/reducer.h:195
12 12 1 :

['dlsym']

12 12 bthread::init_sys_mutex_lock() call site: 00000 /src/brpc/src/bthread/mutex.cpp:445
10 10 4 :

['logging::LogStream::SetCheck()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'logging::LogStream& logging::LogStream::operator<< (int const&)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [12])']

10852 10852 bvar::detail::AgentGroup ::Agent>::get_or_create_tls_agent(int) call site: 00000 /src/brpc/src/bvar/detail/agent_group.h:131
10 10 1 :

['butil::internal::WaitForInstance(long*)']

10 10 Singleton ,butil::ThreadIdNameManager>::get() call site: 00000 /src/brpc/src/butil/memory/singleton.h:254
8 8 2 :

['logging::LogStream& logging::LogStream::operator<< (unsigned long const&)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [31])']

10852 10852 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:340
8 8 2 :

['logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogStream& logging::LogStream::operator<< (unsigned int const&)']

10852 10852 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:344
2 2 1 :

['logging::LogStream& logging::LogStream::operator<< (char const (&) [18])']

10846 10846 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:352
2 2 1 :

['logging::LogStream& logging::LogStream::operator<< (char const (&) [25])']

10846 10846 bvar::Variable::expose_impl(butil::BasicStringPiece ,std::allocator >>const&,butil::BasicStringPiece ,std::allocator >>const&,bvar::DisplayFilter) call site: 00000 /src/brpc/src/bvar/variable.cpp:129

Runtime coverage analysis

Covered functions
494
Functions that are reachable but not covered
2335
Reachable functions
2561
Percentage of reachable functions covered
8.82%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/brpc/test/fuzzing/fuzz_redis.cpp 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/allocator.h 14
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h 90
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h 25
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/ptr_traits.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.tcc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/type_traits.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/char_traits.h 3
/src/brpc/src/butil/iobuf_inl.h 14
/src/brpc/src/butil/iobuf.cpp 36
/src/brpc/src/butil/logging.cc 26
/src/brpc/src/butil/logging.h 70
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/sstream 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_ios.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ostream 7
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/streambuf 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/sstream.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h 46
/src/brpc/src/butil/debug/stack_trace_posix.cc 9
/src/brpc/src/butil/numerics/safe_conversions.h 1
/src/brpc/src/butil/numerics/safe_conversions_impl.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/limits 6
/src/brpc/src/butil/debug/stack_trace.cc 3
/src/brpc/src/butil/third_party/symbolize/symbolize.cc 25
/src/brpc/src/butil/third_party/symbolize/demangle.cc 63
/src/brpc/src/butil/containers/doubly_buffered_data.h 19
/src/brpc/src/butil/memory/singleton.h 8
/src/brpc/src/butil/atomicops_internals_x86_gcc.h 8
/src/brpc/src/butil/atomicops.h 28
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/atomic 13
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/atomic_base.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_vector.h 167
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 17
/src/brpc/src/bthread/mutex.cpp 12
/src/brpc/src/butil/scoped_lock.h 2
/src/brpc/src/bvar/collector.h 3
/src/brpc/src/butil/fast_rand.cpp 7
/src/brpc/src/butil/time.h 7
/src/brpc/src/bvar/collector.cpp 14
/src/brpc/src/butil/memory/singleton_on_pthread_once.h 4
/src/brpc/src/bvar/reducer.h 8
/src/brpc/src/bvar/variable.h 2
/src/brpc/src/bvar/detail/combiner.h 32
/src/brpc/src/bvar/detail/agent_group.h 18
/src/brpc/src/butil/errno.cpp 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 28
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 6
/src/brpc/src/butil/memory/scope_guard.h 16
/src/brpc/src/butil/debug/stack_trace.h 1
/src/brpc/src/butil/object_pool.h 5
/src/brpc/src/butil/object_pool_inl.h 26
/src/brpc/src/butil/thread_local.cpp 10
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 34
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_pair.h 1
/src/brpc/src/butil/memory/manual_constructor.h 12
/src/brpc/src/butil/memory/aligned_memory.h 11
/src/brpc/src/butil/containers/linked_list.h 29
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 2
/src/brpc/src/bvar/variable.cpp 7
/src/brpc/src/butil/containers/flat_map_inl.h 25
/src/brpc/src/butil/single_threaded_pool.h 17
/src/brpc/src/butil/containers/flat_map.h 40
/src/brpc/src/bthread/key.cpp 21
/src/brpc/src/bthread/task_group.cpp 1
/src/brpc/src/bthread/task_group.h 1
/src/brpc/src/butil/thread_key.h 2
/src/brpc/src/butil/thread_key.cpp 4
/src/brpc/src/bthread/types.h 1
/src/brpc/src/butil/bit_array.h 2
/src/brpc/src/butil/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/thread_id_name_manager.cc 3
/src/brpc/src/butil/memory/singleton.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h 2
/src/brpc/src/bvar/passive_status.h 7
/src/brpc/src/butil/strings/string_piece.h 13
/src/brpc/src/bvar/window.h 6
/src/brpc/src/bvar/detail/sampler.h 4
/src/brpc/src/bvar/detail/sampler.cpp 11
/src/brpc/src/butil/containers/bounded_queue.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_mutex.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_tree.h 2
/src/brpc/src/butil/strings/string_piece.cc 4
/src/brpc/src/butil/debug/alias.cc 1
/src/brpc/src/butil/debug/debugger_posix.cc 3
/src/brpc/src/butil/iobuf_profiler.cpp 7
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 3
/src/brpc/src/butil/threading/simple_thread.cc 3
/src/brpc/src/butil/threading/platform_thread.h 3
/src/brpc/src/butil/threading/simple_thread.h 3
/src/brpc/src/butil/synchronization/waitable_event_posix.cc 5
/src/brpc/src/butil/memory/ref_counted.h 8
/src/brpc/src/butil/memory/ref_counted.cc 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_list.h 9
/src/brpc/src/butil/atomic_ref_count.h 5
/src/brpc/src/butil/containers/mpsc_queue.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 3
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 3
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 1
/src/brpc/src/butil/iobuf.h 7
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h 1
/src/brpc/src/butil/threading/thread_restrictions.h 2
/src/brpc/src/butil/threading/thread_restrictions.cc 1
/src/brpc/src/butil/lazy_instance.h 5
/src/brpc/src/butil/lazy_instance.cc 2
/src/brpc/src/butil/threading/thread_local.h 6
/src/brpc/src/butil/threading/thread_local_posix.cc 3
/src/brpc/src/butil/at_exit.cc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_stack.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/list.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/aligned_buffer.h 2
/src/brpc/src/butil/arena.cpp 5
/src/brpc/src/brpc/redis_command.cpp 3
/src/brpc/src/butil/arena.h 2
/src/brpc/src/brpc/redis_command.h 1
/src/brpc/src/brpc/redis_reply.h 2
/src/brpc/src/brpc/redis_reply.cpp 1

Fuzzer: fuzz_hpack

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 2330 71.1%
gold [1:9] 225 6.86%
yellow [10:29] 66 2.01%
greenyellow [30:49] 29 0.88%
lawngreen 50+ 626 19.1%
All colors 3276 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
4455 4455 1 :

['butil::IOBuf::push_back(char)']

4455 4455 butil::IOBuf::append(voidconst*,unsignedlong) call site: 00000 /src/brpc/src/butil/iobuf.cpp:1215
4388 4388 1 :

['void butil::IOBuf::_push_or_move_back_ref_to_bigview (butil::IOBuf::BlockRef const&)']

4388 4388 butil::IOBuf::_push_back_ref(butil::IOBuf::BlockRefconst&) call site: 00000 /src/brpc/src/butil/iobuf_inl.h:184
3848 3888 7 :

['brpc::HeaderEqualTo::operator()(brpc::HPacker::Header const&, brpc::HPacker::Header const&) const', 'butil::FlatMapElement ::first_ref() const', 'butil::FlatMap ::Bucket::is_valid() const', 'butil::FlatMap ::is_too_crowded(unsigned long) const', 'brpc::HeaderHasher::operator()(brpc::HPacker::Header const&) const', 'butil::flatmap_mod(unsigned long, unsigned long)', 'butil::FlatMap ::resize(unsigned long)']

3848 4072 std::enable_if ::typebutil::FlatMap ::operator[] (brpc::HPacker::Headerconst&) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:630
3836 3865 7 :

['butil::FlatMap , std::allocator >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::resize(unsigned long)', 'butil::CaseIgnoredEqual::operator()(std::__cxx11::basic_string , std::allocator > const&, std::__cxx11::basic_string , std::allocator > const&) const', 'butil::FlatMapElement , std::allocator >, unsigned long>::first_ref() const', 'butil::CaseIgnoredHasher::operator()(std::__cxx11::basic_string , std::allocator > const&) const', 'butil::flatmap_mod(unsigned long, unsigned long)', 'butil::FlatMap , std::allocator >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::is_too_crowded(unsigned long) const', 'butil::FlatMap , std::allocator >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::Bucket::is_valid() const']

3836 4011 std::enable_if ::typebutil::FlatMap ,std::allocator >,unsignedlong,butil::CaseIgnoredHasher,butil::CaseIgnoredEqual,false,butil::PtAllocator,false>::operator[] (std::__cxx11::basic_string ,std::allocator >const&) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:630
3797 32754 18 :

['logging::LogStream& logging::LogStream::operator<< , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&)', 'std::lock_guard ::lock_guard(pthread_mutex_t&)', 'logging::LogMessage::stream()', 'std::__cxx11::basic_string , std::allocator >* logging::CheckEQImpl (unsigned long const&, unsigned long const&, char const*)', 'logging::LogMessage::LogMessage(char const*, int, char const*, std::__cxx11::basic_string , std::allocator >*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [2])', 'bvar::VarEntry* butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::seek , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&) const', 'std::__cxx11::basic_string , std::allocator >::clear()', 'logging::LogStream::SetCheck()', 'logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'bvar::get_var_map(std::__cxx11::basic_string , std::allocator > const&)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'std::lock_guard ::~lock_guard()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'std::enable_if ::type butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::erase , std::allocator >, false>(std::__cxx11::basic_string , std::allocator > const&, bvar::VarEntry*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [13])', 'logging::LogMessage::~LogMessage()']

3797 32754 bvar::Variable::hide() call site: 00000 /src/brpc/src/bvar/variable.cpp:185
411 799 2 :

['google::ParseSpecialName(google::State*)', 'google::ParseName(google::State*)']

411 799 google::ParseEncoding(google::State*) call site: 00000 /src/brpc/src/butil/third_party/symbolize/demangle.cc:483
129 135 6 :

['butil::BasicStringPiece , std::allocator > >::empty() const', 'std::basic_ostream >& std::operator<< >(std::basic_ostream >&, char const*)', 'logging::PrintLogPrefixAsJSON(std::ostream&, int, butil::BasicStringPiece , std::allocator > >, butil::BasicStringPiece , std::allocator > >, int, timeval)', 'std::basic_ostream >& std::operator<< >(std::basic_ostream >&, char)', 'butil::BasicStringPiece , std::allocator > >::size() const', 'butil::BasicStringPiece , std::allocator > >::operator[](unsigned long) const']

129 185 logging::PrintLog(std::ostream&,int,charconst*,int,charconst*,butil::BasicStringPiece ,std::allocator >>const&) call site: 00000 /src/brpc/src/butil/logging.cc:962
52 76 6 :

['butil::FlatMapElement ::~FlatMapElement()', 'butil::bit_array_clear(unsigned long*, unsigned long)', 'butil::FlatMap ::Bucket::is_valid() const', 'butil::FlatMap ::Bucket::set_invalid()', 'butil::SingleThreadedPool<80ul, 1024ul, 16ul, butil::PtAllocator>::back(void*)', 'butil::FlatMap ::Bucket::element()']

52 76 butil::FlatMap ::clear() call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:532
48 72 6 :

['butil::SingleThreadedPool<48ul, 1024ul, 16ul, butil::PtAllocator>::back(void*)', 'butil::FlatMap , std::allocator >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::Bucket::element()', 'butil::FlatMapElement , std::allocator >, unsigned long>::~FlatMapElement()', 'butil::FlatMap , std::allocator >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::Bucket::set_invalid()', 'butil::bit_array_clear(unsigned long*, unsigned long)', 'butil::FlatMap , std::allocator >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::Bucket::is_valid() const']

48 72 butil::FlatMap ,std::allocator >,unsignedlong,butil::CaseIgnoredHasher,butil::CaseIgnoredEqual,false,butil::PtAllocator,false>::clear() call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:532
27 47 2 :

['google::SafeAppendString(char const*, char*, int)', 'google::SafeAppendHexNumber(unsigned long, char*, int)']

27 47 google::SymbolizeAndDemangle(void*,char*,int,unsignedlong*) call site: 00000 /src/brpc/src/butil/third_party/symbolize/symbolize.cc:764
21 21 1 :

['butil::fast_rand_less_than(unsigned long)']

21 21 butil::IsIOBufProfilerSamplable() call site: 00000 /src/brpc/src/butil/iobuf_profiler.cpp:77
18 18 1 :

['butil::iobuf::acquire_blockref_array()']

18 4397 voidbutil::IOBuf::_push_or_move_back_ref_to_smallview (butil::IOBuf::BlockRefconst&) call site: 00000 /src/brpc/src/butil/iobuf.cpp:605

Runtime coverage analysis

Covered functions
809
Functions that are reachable but not covered
2013
Reachable functions
2882
Percentage of reachable functions covered
30.15%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/brpc/test/fuzzing/fuzz_hpack.cpp 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/allocator.h 14
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h 91
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h 30
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/ptr_traits.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.tcc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/type_traits.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/char_traits.h 3
/src/brpc/src/butil/iobuf_inl.h 14
/src/brpc/src/brpc/details/hpack.cpp 34
/src/brpc/src/brpc/describable.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_vector.h 164
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h 47
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 37
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 17
/src/brpc/src/butil/containers/bounded_queue.h 20
/src/brpc/src/butil/containers/flat_map_inl.h 63
/src/brpc/src/butil/single_threaded_pool.h 31
/src/brpc/src/butil/containers/case_ignored_flat_map.h 4
/src/brpc/src/butil/containers/flat_map.h 78
/src/brpc/src/butil/memory/manual_constructor.h 18
/src/brpc/src/butil/memory/aligned_memory.h 15
/src/brpc/src/brpc/details/hpack.h 5
/src/brpc/src/butil/bit_array.h 2
/src/brpc/src/butil/logging.h 81
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/sstream 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_ios.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ostream 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/streambuf 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/sstream.tcc 1
/src/brpc/src/butil/logging.cc 26
/src/brpc/src/butil/debug/stack_trace_posix.cc 9
/src/brpc/src/butil/numerics/safe_conversions.h 1
/src/brpc/src/butil/numerics/safe_conversions_impl.h 4
/src/brpc/src/bthread/key.cpp 21
/src/brpc/src/butil/scoped_lock.h 2
/src/brpc/src/bthread/mutex.cpp 12
/src/brpc/src/bvar/collector.h 3
/src/brpc/src/butil/fast_rand.cpp 7
/src/brpc/src/butil/time.h 7
/src/brpc/src/bvar/collector.cpp 14
/src/brpc/src/butil/atomicops.h 28
/src/brpc/src/butil/memory/singleton_on_pthread_once.h 4
/src/brpc/src/butil/atomicops_internals_x86_gcc.h 8
/src/brpc/src/bvar/reducer.h 8
/src/brpc/src/bvar/variable.h 2
/src/brpc/src/bvar/detail/combiner.h 32
/src/brpc/src/bvar/detail/agent_group.h 18
/src/brpc/src/butil/errno.cpp 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 28
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 6
/src/brpc/src/butil/memory/scope_guard.h 24
/src/brpc/src/butil/debug/stack_trace.h 1
/src/brpc/src/butil/object_pool.h 5
/src/brpc/src/butil/object_pool_inl.h 26
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/atomic 13
/src/brpc/src/butil/thread_local.cpp 10
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_pair.h 1
/src/brpc/src/butil/third_party/symbolize/symbolize.cc 25
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/limits 5
/src/brpc/src/butil/third_party/symbolize/demangle.cc 63
/src/brpc/src/butil/containers/linked_list.h 29
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/atomic_base.h 4
/src/brpc/src/butil/debug/stack_trace.cc 3
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 2
/src/brpc/src/bvar/variable.cpp 7
/src/brpc/src/butil/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/thread_id_name_manager.cc 3
/src/brpc/src/butil/memory/singleton.h 8
/src/brpc/src/butil/memory/singleton.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h 1
/src/brpc/src/bvar/passive_status.h 7
/src/brpc/src/butil/strings/string_piece.h 12
/src/brpc/src/bvar/window.h 6
/src/brpc/src/bvar/detail/sampler.h 4
/src/brpc/src/bvar/detail/sampler.cpp 11
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_mutex.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_tree.h 2
/src/brpc/src/bthread/task_group.cpp 1
/src/brpc/src/bthread/task_group.h 1
/src/brpc/src/butil/thread_key.h 2
/src/brpc/src/butil/thread_key.cpp 4
/src/brpc/src/bthread/types.h 1
/src/brpc/src/butil/containers/doubly_buffered_data.h 19
/src/brpc/src/butil/strings/string_piece.cc 4
/src/brpc/src/butil/debug/alias.cc 1
/src/brpc/src/butil/debug/debugger_posix.cc 3
/src/brpc/src/butil/iobuf.cpp 27
/src/brpc/src/butil/iobuf_profiler.cpp 7
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 3
/src/brpc/src/butil/threading/simple_thread.cc 3
/src/brpc/src/butil/threading/platform_thread.h 3
/src/brpc/src/butil/threading/simple_thread.h 3
/src/brpc/src/butil/synchronization/waitable_event_posix.cc 5
/src/brpc/src/butil/memory/ref_counted.h 8
/src/brpc/src/butil/memory/ref_counted.cc 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_list.h 9
/src/brpc/src/butil/atomic_ref_count.h 5
/src/brpc/src/butil/containers/mpsc_queue.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 3
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 3
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 1
/src/brpc/src/butil/iobuf.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h 1
/src/brpc/src/butil/threading/thread_restrictions.h 2
/src/brpc/src/butil/threading/thread_restrictions.cc 1
/src/brpc/src/butil/lazy_instance.h 5
/src/brpc/src/butil/lazy_instance.cc 2
/src/brpc/src/butil/threading/thread_local.h 6
/src/brpc/src/butil/threading/thread_local_posix.cc 3
/src/brpc/src/butil/at_exit.cc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_stack.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/list.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/aligned_buffer.h 2

Fuzzer: fuzz_butil

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1830 87.9%
gold [1:9] 139 6.68%
yellow [10:29] 10 0.48%
greenyellow [30:49] 1 0.04%
lawngreen 50+ 100 4.80%
All colors 2080 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
18258 32754 18 :

['logging::LogStream& logging::LogStream::operator<< , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&)', 'std::lock_guard ::lock_guard(pthread_mutex_t&)', 'logging::LogMessage::stream()', 'std::__cxx11::basic_string , std::allocator >* logging::CheckEQImpl (unsigned long const&, unsigned long const&, char const*)', 'logging::LogMessage::LogMessage(char const*, int, char const*, std::__cxx11::basic_string , std::allocator >*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [2])', 'bvar::VarEntry* butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::seek , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&) const', 'std::__cxx11::basic_string , std::allocator >::clear()', 'logging::LogStream::SetCheck()', 'logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'bvar::get_var_map(std::__cxx11::basic_string , std::allocator > const&)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'std::lock_guard ::~lock_guard()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'std::enable_if ::type butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::erase , std::allocator >, false>(std::__cxx11::basic_string , std::allocator > const&, bvar::VarEntry*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [13])', 'logging::LogMessage::~LogMessage()']

18258 32754 bvar::Variable::hide() call site: 00000 /src/brpc/src/bvar/variable.cpp:185
10848 10848 8 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::NewBucketsInfo::NewBucketsInfo()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10848 10890 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::new_buckets_and_thumbnail(unsignedlong,unsignedlong) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:782
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::stream()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:356
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::detail::AgentCombiner ::get_or_create_tls_agent() call site: 00000 /src/brpc/src/bvar/detail/combiner.h:298
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::Reducer ::operator<<(bvar::detail::Sampler*const&) call site: 00000 /src/brpc/src/bvar/reducer.h:195
10844 10844 6 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'logging::LogMessage::~LogMessage()']

10844 10844 butil::Hash(charconst*,unsignedlong) call site: 00000 /src/brpc/src/butil/hash.h:23
12 12 1 :

['dlsym']

12 12 bthread::init_sys_mutex_lock() call site: 00000 /src/brpc/src/bthread/mutex.cpp:445
10 10 4 :

['logging::LogStream::SetCheck()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'logging::LogStream& logging::LogStream::operator<< (int const&)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [12])']

10852 10852 bvar::detail::AgentGroup ::Agent>::get_or_create_tls_agent(int) call site: 00000 /src/brpc/src/bvar/detail/agent_group.h:131
10 10 1 :

['butil::internal::WaitForInstance(long*)']

10 10 Singleton ,butil::ThreadIdNameManager>::get() call site: 00000 /src/brpc/src/butil/memory/singleton.h:254
8 8 2 :

['logging::LogStream& logging::LogStream::operator<< (unsigned long const&)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [31])']

10852 10852 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:340
8 8 2 :

['logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogStream& logging::LogStream::operator<< (unsigned int const&)']

10852 10852 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:344
2 2 1 :

['logging::LogStream& logging::LogStream::operator<< (char const (&) [18])']

10846 10846 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:352

Runtime coverage analysis

Covered functions
508
Functions that are reachable but not covered
1681
Reachable functions
1971
Percentage of reachable functions covered
14.71%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/brpc/test/fuzzing/fuzz_butil.cpp 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/allocator.h 11
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h 68
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h 27
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/ptr_traits.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.tcc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/type_traits.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/char_traits.h 3
/src/brpc/src/butil/strings/string_piece.h 13
/src/brpc/src/butil/base64.cc 2
/src/brpc/src/butil/third_party/modp_b64/modp_b64.cc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h 35
/src/brpc/src/butil/crc32c.h 1
/src/brpc/src/butil/crc32c.cc 3
/src/brpc/src/butil/hash.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/limits 4
/src/brpc/src/butil/logging.h 48
/src/brpc/src/butil/logging.cc 26
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/sstream 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_ios.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ostream 7
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/streambuf 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/sstream.tcc 1
/src/brpc/src/butil/debug/stack_trace_posix.cc 9
/src/brpc/src/butil/numerics/safe_conversions.h 1
/src/brpc/src/butil/numerics/safe_conversions_impl.h 4
/src/brpc/src/butil/debug/stack_trace.cc 3
/src/brpc/src/butil/third_party/symbolize/symbolize.cc 25
/src/brpc/src/butil/third_party/symbolize/demangle.cc 63
/src/brpc/src/butil/containers/doubly_buffered_data.h 19
/src/brpc/src/butil/memory/singleton.h 6
/src/brpc/src/butil/atomicops_internals_x86_gcc.h 4
/src/brpc/src/butil/atomicops.h 19
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/atomic 5
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/atomic_base.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_vector.h 135
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 15
/src/brpc/src/bthread/mutex.cpp 12
/src/brpc/src/butil/scoped_lock.h 2
/src/brpc/src/bvar/collector.h 3
/src/brpc/src/butil/fast_rand.cpp 5
/src/brpc/src/butil/time.h 7
/src/brpc/src/bvar/collector.cpp 14
/src/brpc/src/butil/memory/singleton_on_pthread_once.h 4
/src/brpc/src/bvar/reducer.h 8
/src/brpc/src/bvar/variable.h 2
/src/brpc/src/bvar/detail/combiner.h 32
/src/brpc/src/bvar/detail/agent_group.h 18
/src/brpc/src/butil/errno.cpp 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 21
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 3
/src/brpc/src/butil/memory/scope_guard.h 8
/src/brpc/src/butil/debug/stack_trace.h 1
/src/brpc/src/butil/object_pool.h 3
/src/brpc/src/butil/object_pool_inl.h 14
/src/brpc/src/butil/thread_local.cpp 10
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 31
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_pair.h 1
/src/brpc/src/butil/memory/manual_constructor.h 3
/src/brpc/src/butil/memory/aligned_memory.h 3
/src/brpc/src/butil/containers/linked_list.h 29
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 2
/src/brpc/src/bvar/variable.cpp 7
/src/brpc/src/butil/containers/flat_map_inl.h 11
/src/brpc/src/butil/single_threaded_pool.h 7
/src/brpc/src/butil/containers/flat_map.h 15
/src/brpc/src/bthread/key.cpp 21
/src/brpc/src/bthread/task_group.cpp 1
/src/brpc/src/bthread/task_group.h 1
/src/brpc/src/butil/thread_key.h 2
/src/brpc/src/butil/thread_key.cpp 4
/src/brpc/src/bthread/types.h 1
/src/brpc/src/butil/bit_array.h 2
/src/brpc/src/butil/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/thread_id_name_manager.cc 3
/src/brpc/src/butil/memory/singleton.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h 1
/src/brpc/src/bvar/passive_status.h 7
/src/brpc/src/bvar/window.h 6
/src/brpc/src/bvar/detail/sampler.h 4
/src/brpc/src/bvar/detail/sampler.cpp 11
/src/brpc/src/butil/containers/bounded_queue.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_mutex.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_tree.h 2
/src/brpc/src/butil/strings/string_piece.cc 4
/src/brpc/src/butil/debug/alias.cc 1
/src/brpc/src/butil/debug/debugger_posix.cc 3
/src/brpc/src/butil/hash.cc 1
/src/brpc/src/butil/third_party/superfasthash/superfasthash.c 1
/src/brpc/src/butil/sha1_portable.cc 13

Fuzzer: fuzz_uri

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 151 51.5%
gold [1:9] 0 0.0%
yellow [10:29] 11 3.75%
greenyellow [30:49] 1 0.34%
lawngreen 50+ 130 44.3%
All colors 293 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
18258 32754 18 :

['logging::LogStream& logging::LogStream::operator<< , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&)', 'std::lock_guard ::lock_guard(pthread_mutex_t&)', 'logging::LogMessage::stream()', 'std::__cxx11::basic_string , std::allocator >* logging::CheckEQImpl (unsigned long const&, unsigned long const&, char const*)', 'logging::LogMessage::LogMessage(char const*, int, char const*, std::__cxx11::basic_string , std::allocator >*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [2])', 'bvar::VarEntry* butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::seek , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&) const', 'std::__cxx11::basic_string , std::allocator >::clear()', 'logging::LogStream::SetCheck()', 'logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'bvar::get_var_map(std::__cxx11::basic_string , std::allocator > const&)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'std::lock_guard ::~lock_guard()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'std::enable_if ::type butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::erase , std::allocator >, false>(std::__cxx11::basic_string , std::allocator > const&, bvar::VarEntry*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [13])', 'logging::LogMessage::~LogMessage()']

18258 32754 bvar::Variable::hide() call site: 00000 /src/brpc/src/bvar/variable.cpp:185
10848 10848 8 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::NewBucketsInfo::NewBucketsInfo()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10848 10890 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::new_buckets_and_thumbnail(unsignedlong,unsignedlong) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:782
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::stream()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:356
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::detail::AgentCombiner ::get_or_create_tls_agent() call site: 00000 /src/brpc/src/bvar/detail/combiner.h:298
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::Reducer ::operator<<(bvar::detail::Sampler*const&) call site: 00000 /src/brpc/src/bvar/reducer.h:195
128 128 2 :

['butil::string_printf[abi:cxx11](char const*, ...)', 'std::__cxx11::basic_string , std::allocator >::operator=(std::__cxx11::basic_string , std::allocator >&&)']

168 168 brpc::AdaptiveMaxConcurrency::AdaptiveMaxConcurrency(int) call site: 00000 /src/brpc/src/brpc/adaptive_max_concurrency.cpp:34
72 72 6 :

['butil::SingleThreadedPool<72ul, 1024ul, 16ul, butil::PtAllocator>::back(void*)', 'butil::FlatMap , std::allocator >, std::__cxx11::basic_string , std::allocator >, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::Bucket::element()', 'butil::bit_array_clear(unsigned long*, unsigned long)', 'butil::FlatMapElement , std::allocator >, std::__cxx11::basic_string , std::allocator > >::~FlatMapElement()', 'butil::FlatMap , std::allocator >, std::__cxx11::basic_string , std::allocator >, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::Bucket::set_invalid()', 'butil::FlatMap , std::allocator >, std::__cxx11::basic_string , std::allocator >, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::Bucket::is_valid() const']

72 72 butil::FlatMap ,std::allocator >,std::__cxx11::basic_string ,std::allocator >,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::clear() call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:532
12 12 1 :

['dlsym']

12 12 bthread::init_sys_mutex_lock() call site: 00000 /src/brpc/src/bthread/mutex.cpp:445
10 10 4 :

['logging::LogStream::SetCheck()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'logging::LogStream& logging::LogStream::operator<< (int const&)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [12])']

10852 10852 bvar::detail::AgentGroup ::Agent>::get_or_create_tls_agent(int) call site: 00000 /src/brpc/src/bvar/detail/agent_group.h:131
10 10 1 :

['butil::internal::WaitForInstance(long*)']

10 10 Singleton ,butil::ThreadIdNameManager>::get() call site: 00000 /src/brpc/src/butil/memory/singleton.h:254
8 8 2 :

['logging::LogStream& logging::LogStream::operator<< (unsigned long const&)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [31])']

10852 10852 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:340
8 8 2 :

['logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogStream& logging::LogStream::operator<< (unsigned int const&)']

10852 10852 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:344

Runtime coverage analysis

Covered functions
1025
Functions that are reachable but not covered
234
Reachable functions
355
Percentage of reachable functions covered
34.08%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/brpc/test/fuzzing/fuzz_uri.cpp 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/allocator.h 5
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h 14
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h 19
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/ptr_traits.h 3
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/type_traits.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/char_traits.h 4
/src/brpc/src/brpc/uri.cpp 7
/src/brpc/src/butil/status.h 4
/src/brpc/src/butil/containers/flat_map_inl.h 3
/src/brpc/src/butil/single_threaded_pool.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h 5
/src/brpc/src/brpc/uri.h 1
/src/brpc/src/butil/containers/flat_map.h 5
/src/brpc/src/butil/memory/manual_constructor.h 2
/src/brpc/src/butil/memory/aligned_memory.h 2
/src/brpc/src/butil/bit_array.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unordered_set.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/hashtable.h 13
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/hashtable_policy.h 29
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/aligned_buffer.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_pair.h 1
/src/brpc/src/butil/status.cpp 2
/src/brpc/src/butil/strings/string_piece.h 19
/src/brpc/src/brpc/rtmp.cpp 4
/src/brpc/src/butil/strings/string_piece.cc 6
/src/brpc/src/butil/string_splitter_inl.h 7

Fuzzer: fuzz_sofa

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 5542 97.1%
gold [1:9] 108 1.89%
yellow [10:29] 15 0.26%
greenyellow [30:49] 29 0.50%
lawngreen 50+ 11 0.19%
All colors 5705 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
18258 32754 18 :

['logging::LogStream& logging::LogStream::operator<< , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&)', 'std::lock_guard ::lock_guard(pthread_mutex_t&)', 'logging::LogMessage::stream()', 'std::__cxx11::basic_string , std::allocator >* logging::CheckEQImpl (unsigned long const&, unsigned long const&, char const*)', 'logging::LogMessage::LogMessage(char const*, int, char const*, std::__cxx11::basic_string , std::allocator >*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [2])', 'bvar::VarEntry* butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::seek , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&) const', 'std::__cxx11::basic_string , std::allocator >::clear()', 'logging::LogStream::SetCheck()', 'logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'bvar::get_var_map(std::__cxx11::basic_string , std::allocator > const&)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'std::lock_guard ::~lock_guard()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'std::enable_if ::type butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::erase , std::allocator >, false>(std::__cxx11::basic_string , std::allocator > const&, bvar::VarEntry*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [13])', 'logging::LogMessage::~LogMessage()']

18258 32754 bvar::Variable::hide() call site: 00000 /src/brpc/src/bvar/variable.cpp:185
10848 10848 8 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::NewBucketsInfo::NewBucketsInfo()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10848 10890 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::new_buckets_and_thumbnail(unsignedlong,unsignedlong) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:782
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::stream()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:356
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::detail::AgentCombiner ::get_or_create_tls_agent() call site: 00000 /src/brpc/src/bvar/detail/combiner.h:298
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::Reducer ::operator<<(bvar::detail::Sampler*const&) call site: 00000 /src/brpc/src/bvar/reducer.h:195
128 128 2 :

['butil::string_printf[abi:cxx11](char const*, ...)', 'std::__cxx11::basic_string , std::allocator >::operator=(std::__cxx11::basic_string , std::allocator >&&)']

168 168 brpc::AdaptiveMaxConcurrency::AdaptiveMaxConcurrency(int) call site: 00000 /src/brpc/src/brpc/adaptive_max_concurrency.cpp:34
12 12 1 :

['dlsym']

12 12 bthread::init_sys_mutex_lock() call site: 00000 /src/brpc/src/bthread/mutex.cpp:445
10 10 4 :

['logging::LogStream::SetCheck()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'logging::LogStream& logging::LogStream::operator<< (int const&)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [12])']

10852 10852 bvar::detail::AgentGroup ::Agent>::get_or_create_tls_agent(int) call site: 00000 /src/brpc/src/bvar/detail/agent_group.h:131
10 10 1 :

['butil::internal::WaitForInstance(long*)']

10 10 Singleton ,butil::ThreadIdNameManager>::get() call site: 00000 /src/brpc/src/butil/memory/singleton.h:254
8 8 2 :

['logging::LogStream& logging::LogStream::operator<< (unsigned long const&)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [31])']

10852 10852 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:340
8 8 2 :

['logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogStream& logging::LogStream::operator<< (unsigned int const&)']

10852 10852 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:344
6 6 3 :

['write', 'void butil::ignore_result (long const&)', '_exit']

6 6 boolbrpc::RegisterFlagValidatorOrDieImpl (boolconst*,bool(*)(charconst*,bool)) call site: 00000 /src/brpc/src/brpc/reloadable_flags.cpp:68

Runtime coverage analysis

Covered functions
929
Functions that are reachable but not covered
2615
Reachable functions
2833
Percentage of reachable functions covered
7.7%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/brpc/test/fuzzing/fuzz_sofa.cpp 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/allocator.h 30
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h 197
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h 32
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/ptr_traits.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.tcc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/type_traits.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/char_traits.h 4
/src/brpc/src/butil/iobuf_inl.h 11
/src/brpc/src/butil/iobuf.cpp 35
/src/brpc/src/butil/logging.cc 35
/src/brpc/src/butil/logging.h 104
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/sstream 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_ios.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ostream 10
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/streambuf 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/sstream.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h 102
/src/brpc/src/butil/debug/stack_trace_posix.cc 9
/src/brpc/src/butil/numerics/safe_conversions.h 1
/src/brpc/src/butil/numerics/safe_conversions_impl.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/limits 6
/src/brpc/src/butil/debug/stack_trace.cc 3
/src/brpc/src/butil/third_party/symbolize/symbolize.cc 25
/src/brpc/src/butil/third_party/symbolize/demangle.cc 63
/src/brpc/src/butil/containers/doubly_buffered_data.h 19
/src/brpc/src/butil/memory/singleton.h 8
/src/brpc/src/butil/atomicops_internals_x86_gcc.h 8
/src/brpc/src/butil/atomicops.h 104
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/atomic 47
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/atomic_base.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_vector.h 382
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 41
/src/brpc/src/bthread/mutex.cpp 23
/src/brpc/src/butil/scoped_lock.h 4
/src/brpc/src/bvar/collector.h 3
/src/brpc/src/butil/fast_rand.cpp 9
/src/brpc/src/butil/time.h 11
/src/brpc/src/bvar/collector.cpp 14
/src/brpc/src/butil/memory/singleton_on_pthread_once.h 6
/src/brpc/src/bvar/reducer.h 17
/src/brpc/src/bvar/variable.h 4
/src/brpc/src/bvar/detail/combiner.h 85
/src/brpc/src/bvar/detail/agent_group.h 51
/src/brpc/src/butil/errno.cpp 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 53
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 8
/src/brpc/src/butil/memory/scope_guard.h 24
/src/brpc/src/butil/debug/stack_trace.h 1
/src/brpc/src/butil/object_pool.h 17
/src/brpc/src/butil/object_pool_inl.h 102
/src/brpc/src/butil/thread_local.cpp 10
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 81
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_pair.h 1
/src/brpc/src/butil/memory/manual_constructor.h 22
/src/brpc/src/butil/memory/aligned_memory.h 17
/src/brpc/src/butil/containers/linked_list.h 74
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 6
/src/brpc/src/bvar/variable.cpp 7
/src/brpc/src/butil/containers/flat_map_inl.h 43
/src/brpc/src/butil/single_threaded_pool.h 24
/src/brpc/src/butil/containers/flat_map.h 57
/src/brpc/src/bthread/key.cpp 24
/src/brpc/src/bthread/task_group.cpp 22
/src/brpc/src/bthread/task_group.h 13
/src/brpc/src/butil/thread_key.h 2
/src/brpc/src/butil/thread_key.cpp 4
/src/brpc/src/bthread/types.h 1
/src/brpc/src/butil/bit_array.h 2
/src/brpc/src/butil/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/thread_id_name_manager.cc 3
/src/brpc/src/butil/memory/singleton.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h 1
/src/brpc/src/bvar/passive_status.h 10
/src/brpc/src/butil/strings/string_piece.h 21
/src/brpc/src/bvar/window.h 19
/src/brpc/src/bvar/detail/sampler.h 14
/src/brpc/src/bvar/detail/sampler.cpp 11
/src/brpc/src/butil/containers/bounded_queue.h 33
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_mutex.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_tree.h 2
/src/brpc/src/butil/strings/string_piece.cc 9
/src/brpc/src/butil/debug/alias.cc 1
/src/brpc/src/butil/debug/debugger_posix.cc 3
/src/brpc/src/butil/iobuf_profiler.cpp 7
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 3
/src/brpc/src/butil/threading/simple_thread.cc 3
/src/brpc/src/butil/threading/platform_thread.h 3
/src/brpc/src/butil/threading/simple_thread.h 3
/src/brpc/src/butil/synchronization/waitable_event_posix.cc 5
/src/brpc/src/butil/memory/ref_counted.h 8
/src/brpc/src/butil/memory/ref_counted.cc 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_list.h 9
/src/brpc/src/butil/atomic_ref_count.h 5
/src/brpc/src/butil/containers/mpsc_queue.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 13
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 3
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 3
/src/brpc/src/butil/iobuf.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h 1
/src/brpc/src/butil/threading/thread_restrictions.h 2
/src/brpc/src/butil/threading/thread_restrictions.cc 1
/src/brpc/src/butil/lazy_instance.h 5
/src/brpc/src/butil/lazy_instance.cc 2
/src/brpc/src/butil/threading/thread_local.h 6
/src/brpc/src/butil/threading/thread_local_posix.cc 3
/src/brpc/src/butil/at_exit.cc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_stack.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/list.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/aligned_buffer.h 4
/src/brpc/src/brpc/policy/sofa_pbrpc_protocol.cpp 4
/src/brpc/src/brpc/parse_result.h 4
/src/brpc/src/brpc/socket.h 3
/src/brpc/src/butil/endpoint.cpp 6
/src/brpc/src/butil/details/extended_endpoint.hpp 9
/src/brpc/src/butil/resource_pool.h 18
/src/brpc/src/butil/resource_pool_inl.h 60
/src/brpc/src/butil/endpoint.h 2
/usr/include/x86_64-linux-gnu/bits/byteswap.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unordered_set.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/hashtable.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/hashtable_policy.h 13
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_lock.h 8
/src/brpc/src/brpc/policy/most_common_message.h 2
/src/brpc/src/brpc/input_message_base.h 1
/src/brpc/src/brpc/destroyable.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h 27
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/tuple 20
/src/brpc/src/brpc/input_messenger.cpp 1
/src/brpc/src/brpc/socket_id.h 1
/src/brpc/src/brpc/socket.cpp 4
/src/brpc/src/brpc/versioned_ref_with_id.h 17
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h 4
/src/brpc/src/brpc/shared_object.h 1
/src/brpc/src/brpc/socket_inl.h 2
/src/brpc/src/brpc/event_dispatcher.h 2
/src/brpc/src/brpc/event_dispatcher.cpp 4
/src/brpc/src/brpc/event_dispatcher_epoll.cpp 5
/src/brpc/src/butil/fd_utility.cpp 1
/src/brpc/src/bthread/bthread.cpp 1
/src/brpc/src/bthread/task_group_inl.h 7
/src/brpc/src/bthread/butex.cpp 18
/src/brpc/src/bthread/errno.cpp 1
/src/brpc/src/bthread/sys_futex.h 2
/src/brpc/src/bthread/task_control.cpp 13
/src/brpc/src/bthread/task_control.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/array 4
/src/brpc/src/bthread/work_stealing_queue.h 7
/src/brpc/src/butil/compat.h 1
/src/brpc/src/bthread/parking_lot.h 6
/src/brpc/src/bthread/remote_task_queue.h 6
/src/brpc/src/bthread/stack_inl.h 23
/src/brpc/src/bthread/stack.cpp 2
/src/brpc/src/butil/third_party/dynamic_annotations/dynamic_annotations.c 2
/src/brpc/src/bthread/stack.h 1
/src/brpc/src/bthread/task_meta.h 5
/src/brpc/src/bthread/butex.h 1
/src/brpc/src/bthread/mutex.h 1
/src/brpc/src/butil/string_printf.cpp 3
/src/brpc/src/bvar/latency_recorder.h 2
/src/brpc/src/bvar/latency_recorder.cpp 15
/src/brpc/src/bvar/recorder.h 17
/src/brpc/src/bvar/detail/percentile.cpp 8
/src/brpc/src/bvar/detail/percentile.h 36
/src/brpc/src/bvar/vector.h 2
/src/brpc/src/butil/macros.h 4
/src/brpc/src/bthread/timer_thread.cpp 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward/hash_fun.h 1
/src/brpc/src/bthread/id.cpp 11
/src/brpc/src/bthread/list_of_abafree_id.h 1
/src/brpc/src/brpc/authenticator.h 1

Fuzzer: fuzz_hulu

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 5521 96.6%
gold [1:9] 129 2.25%
yellow [10:29] 20 0.35%
greenyellow [30:49] 29 0.50%
lawngreen 50+ 11 0.19%
All colors 5710 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
18258 32754 18 :

['logging::LogStream& logging::LogStream::operator<< , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&)', 'std::lock_guard ::lock_guard(pthread_mutex_t&)', 'logging::LogMessage::stream()', 'std::__cxx11::basic_string , std::allocator >* logging::CheckEQImpl (unsigned long const&, unsigned long const&, char const*)', 'logging::LogMessage::LogMessage(char const*, int, char const*, std::__cxx11::basic_string , std::allocator >*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [2])', 'bvar::VarEntry* butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::seek , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&) const', 'std::__cxx11::basic_string , std::allocator >::clear()', 'logging::LogStream::SetCheck()', 'logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'bvar::get_var_map(std::__cxx11::basic_string , std::allocator > const&)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'std::lock_guard ::~lock_guard()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'std::enable_if ::type butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::erase , std::allocator >, false>(std::__cxx11::basic_string , std::allocator > const&, bvar::VarEntry*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [13])', 'logging::LogMessage::~LogMessage()']

18258 32754 bvar::Variable::hide() call site: 00000 /src/brpc/src/bvar/variable.cpp:185
10848 10848 8 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::NewBucketsInfo::NewBucketsInfo()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10848 10890 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::new_buckets_and_thumbnail(unsignedlong,unsignedlong) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:782
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::stream()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:356
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::detail::AgentCombiner ::get_or_create_tls_agent() call site: 00000 /src/brpc/src/bvar/detail/combiner.h:298
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::Reducer ::operator<<(bvar::detail::Sampler*const&) call site: 00000 /src/brpc/src/bvar/reducer.h:195
128 128 2 :

['butil::string_printf[abi:cxx11](char const*, ...)', 'std::__cxx11::basic_string , std::allocator >::operator=(std::__cxx11::basic_string , std::allocator >&&)']

168 168 brpc::AdaptiveMaxConcurrency::AdaptiveMaxConcurrency(int) call site: 00000 /src/brpc/src/brpc/adaptive_max_concurrency.cpp:34
12 12 1 :

['dlsym']

12 12 bthread::init_sys_mutex_lock() call site: 00000 /src/brpc/src/bthread/mutex.cpp:445
10 10 4 :

['logging::LogStream::SetCheck()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'logging::LogStream& logging::LogStream::operator<< (int const&)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [12])']

10852 10852 bvar::detail::AgentGroup ::Agent>::get_or_create_tls_agent(int) call site: 00000 /src/brpc/src/bvar/detail/agent_group.h:131
10 10 1 :

['butil::internal::WaitForInstance(long*)']

10 10 Singleton ,butil::ThreadIdNameManager>::get() call site: 00000 /src/brpc/src/butil/memory/singleton.h:254
8 8 2 :

['logging::LogStream& logging::LogStream::operator<< (unsigned long const&)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [31])']

10852 10852 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:340
8 8 2 :

['logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogStream& logging::LogStream::operator<< (unsigned int const&)']

10852 10852 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:344
6 6 3 :

['write', 'void butil::ignore_result (long const&)', '_exit']

6 6 boolbrpc::RegisterFlagValidatorOrDieImpl (boolconst*,bool(*)(charconst*,bool)) call site: 00000 /src/brpc/src/brpc/reloadable_flags.cpp:68

Runtime coverage analysis

Covered functions
968
Functions that are reachable but not covered
2587
Reachable functions
2831
Percentage of reachable functions covered
8.62%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/brpc/test/fuzzing/fuzz_hulu.cpp 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/allocator.h 30
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h 197
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h 32
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/ptr_traits.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.tcc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/type_traits.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/char_traits.h 4
/src/brpc/src/butil/iobuf_inl.h 11
/src/brpc/src/butil/iobuf.cpp 35
/src/brpc/src/butil/logging.cc 35
/src/brpc/src/butil/logging.h 104
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/sstream 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_ios.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ostream 10
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/streambuf 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/sstream.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h 102
/src/brpc/src/butil/debug/stack_trace_posix.cc 9
/src/brpc/src/butil/numerics/safe_conversions.h 1
/src/brpc/src/butil/numerics/safe_conversions_impl.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/limits 6
/src/brpc/src/butil/debug/stack_trace.cc 3
/src/brpc/src/butil/third_party/symbolize/symbolize.cc 25
/src/brpc/src/butil/third_party/symbolize/demangle.cc 63
/src/brpc/src/butil/containers/doubly_buffered_data.h 19
/src/brpc/src/butil/memory/singleton.h 8
/src/brpc/src/butil/atomicops_internals_x86_gcc.h 8
/src/brpc/src/butil/atomicops.h 104
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/atomic 47
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/atomic_base.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_vector.h 382
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 41
/src/brpc/src/bthread/mutex.cpp 23
/src/brpc/src/butil/scoped_lock.h 4
/src/brpc/src/bvar/collector.h 3
/src/brpc/src/butil/fast_rand.cpp 9
/src/brpc/src/butil/time.h 11
/src/brpc/src/bvar/collector.cpp 14
/src/brpc/src/butil/memory/singleton_on_pthread_once.h 6
/src/brpc/src/bvar/reducer.h 17
/src/brpc/src/bvar/variable.h 4
/src/brpc/src/bvar/detail/combiner.h 85
/src/brpc/src/bvar/detail/agent_group.h 51
/src/brpc/src/butil/errno.cpp 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 53
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 8
/src/brpc/src/butil/memory/scope_guard.h 24
/src/brpc/src/butil/debug/stack_trace.h 1
/src/brpc/src/butil/object_pool.h 17
/src/brpc/src/butil/object_pool_inl.h 102
/src/brpc/src/butil/thread_local.cpp 10
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 81
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_pair.h 1
/src/brpc/src/butil/memory/manual_constructor.h 22
/src/brpc/src/butil/memory/aligned_memory.h 17
/src/brpc/src/butil/containers/linked_list.h 74
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 6
/src/brpc/src/bvar/variable.cpp 7
/src/brpc/src/butil/containers/flat_map_inl.h 43
/src/brpc/src/butil/single_threaded_pool.h 24
/src/brpc/src/butil/containers/flat_map.h 57
/src/brpc/src/bthread/key.cpp 24
/src/brpc/src/bthread/task_group.cpp 22
/src/brpc/src/bthread/task_group.h 13
/src/brpc/src/butil/thread_key.h 2
/src/brpc/src/butil/thread_key.cpp 4
/src/brpc/src/bthread/types.h 1
/src/brpc/src/butil/bit_array.h 2
/src/brpc/src/butil/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/thread_id_name_manager.cc 3
/src/brpc/src/butil/memory/singleton.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h 1
/src/brpc/src/bvar/passive_status.h 10
/src/brpc/src/butil/strings/string_piece.h 21
/src/brpc/src/bvar/window.h 19
/src/brpc/src/bvar/detail/sampler.h 14
/src/brpc/src/bvar/detail/sampler.cpp 11
/src/brpc/src/butil/containers/bounded_queue.h 33
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_mutex.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_tree.h 2
/src/brpc/src/butil/strings/string_piece.cc 9
/src/brpc/src/butil/debug/alias.cc 1
/src/brpc/src/butil/debug/debugger_posix.cc 3
/src/brpc/src/butil/iobuf_profiler.cpp 7
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 3
/src/brpc/src/butil/threading/simple_thread.cc 3
/src/brpc/src/butil/threading/platform_thread.h 3
/src/brpc/src/butil/threading/simple_thread.h 3
/src/brpc/src/butil/synchronization/waitable_event_posix.cc 5
/src/brpc/src/butil/memory/ref_counted.h 8
/src/brpc/src/butil/memory/ref_counted.cc 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_list.h 9
/src/brpc/src/butil/atomic_ref_count.h 5
/src/brpc/src/butil/containers/mpsc_queue.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 13
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 3
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 3
/src/brpc/src/butil/iobuf.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h 1
/src/brpc/src/butil/threading/thread_restrictions.h 2
/src/brpc/src/butil/threading/thread_restrictions.cc 1
/src/brpc/src/butil/lazy_instance.h 5
/src/brpc/src/butil/lazy_instance.cc 2
/src/brpc/src/butil/threading/thread_local.h 6
/src/brpc/src/butil/threading/thread_local_posix.cc 3
/src/brpc/src/butil/at_exit.cc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_stack.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/list.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/aligned_buffer.h 4
/src/brpc/src/brpc/policy/hulu_pbrpc_protocol.cpp 3
/src/brpc/src/brpc/parse_result.h 4
/src/brpc/src/brpc/socket.h 3
/src/brpc/src/butil/endpoint.cpp 6
/src/brpc/src/butil/details/extended_endpoint.hpp 9
/src/brpc/src/butil/resource_pool.h 18
/src/brpc/src/butil/resource_pool_inl.h 60
/src/brpc/src/butil/endpoint.h 2
/usr/include/x86_64-linux-gnu/bits/byteswap.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unordered_set.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/hashtable.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/hashtable_policy.h 13
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_lock.h 8
/src/brpc/src/brpc/policy/most_common_message.h 2
/src/brpc/src/brpc/input_message_base.h 1
/src/brpc/src/brpc/destroyable.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h 27
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/tuple 20
/src/brpc/src/brpc/input_messenger.cpp 1
/src/brpc/src/brpc/socket_id.h 1
/src/brpc/src/brpc/socket.cpp 4
/src/brpc/src/brpc/versioned_ref_with_id.h 17
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h 4
/src/brpc/src/brpc/shared_object.h 1
/src/brpc/src/brpc/socket_inl.h 2
/src/brpc/src/brpc/event_dispatcher.h 2
/src/brpc/src/brpc/event_dispatcher.cpp 4
/src/brpc/src/brpc/event_dispatcher_epoll.cpp 5
/src/brpc/src/butil/fd_utility.cpp 1
/src/brpc/src/bthread/bthread.cpp 1
/src/brpc/src/bthread/task_group_inl.h 7
/src/brpc/src/bthread/butex.cpp 18
/src/brpc/src/bthread/errno.cpp 1
/src/brpc/src/bthread/sys_futex.h 2
/src/brpc/src/bthread/task_control.cpp 13
/src/brpc/src/bthread/task_control.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/array 4
/src/brpc/src/bthread/work_stealing_queue.h 7
/src/brpc/src/butil/compat.h 1
/src/brpc/src/bthread/parking_lot.h 6
/src/brpc/src/bthread/remote_task_queue.h 6
/src/brpc/src/bthread/stack_inl.h 23
/src/brpc/src/bthread/stack.cpp 2
/src/brpc/src/butil/third_party/dynamic_annotations/dynamic_annotations.c 2
/src/brpc/src/bthread/stack.h 1
/src/brpc/src/bthread/task_meta.h 5
/src/brpc/src/bthread/butex.h 1
/src/brpc/src/bthread/mutex.h 1
/src/brpc/src/butil/string_printf.cpp 3
/src/brpc/src/bvar/latency_recorder.h 2
/src/brpc/src/bvar/latency_recorder.cpp 15
/src/brpc/src/bvar/recorder.h 17
/src/brpc/src/bvar/detail/percentile.cpp 8
/src/brpc/src/bvar/detail/percentile.h 36
/src/brpc/src/bvar/vector.h 2
/src/brpc/src/butil/macros.h 4
/src/brpc/src/bthread/timer_thread.cpp 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward/hash_fun.h 1
/src/brpc/src/bthread/id.cpp 11
/src/brpc/src/bthread/list_of_abafree_id.h 1
/src/brpc/src/brpc/authenticator.h 1

Fuzzer: fuzz_http

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 2403 81.8%
gold [1:9] 215 7.32%
yellow [10:29] 36 1.22%
greenyellow [30:49] 19 0.64%
lawngreen 50+ 263 8.95%
All colors 2936 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
37838 37846 9 :

['std::unique_lock ::lock()', 'butil::IOBuf::size() const', 'bthread_usleep', 'std::unique_lock ::~unique_lock()', 'std::unique_lock ::unique_lock(butil::Mutex&)', 'butil::Status::ok() const', 'butil::Status::~Status()', 'std::unique_lock ::unlock()', 'brpc::HttpMessage::UnlockAndFlushToBodyReader(std::unique_lock &)']

37838 42312 brpc::HttpMessage::OnBody(charconst*,unsignedlong) call site: 00000 /src/brpc/src/brpc/details/http_message.cpp:283
22508 22518 7 :

['std::unique_lock ::unlock()', 'brpc::HttpMessage::UnlockAndFlushToBodyReader(std::unique_lock &)', 'std::unique_lock ::lock()', 'std::unique_lock ::~unique_lock()', 'std::unique_lock ::unique_lock(butil::Mutex&)', 'butil::Status::Status()', 'butil::Status::~Status()']

22508 22518 brpc::HttpMessage::OnMessageComplete() call site: 00000 /src/brpc/src/brpc/details/http_message.cpp:336
4388 4388 1 :

['void butil::IOBuf::_push_or_move_back_ref_to_bigview (butil::IOBuf::BlockRef const&)']

4388 4388 butil::IOBuf::_push_back_ref(butil::IOBuf::BlockRefconst&) call site: 00000 /src/brpc/src/butil/iobuf_inl.h:184
3801 32754 18 :

['logging::LogStream& logging::LogStream::operator<< , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&)', 'std::lock_guard ::lock_guard(pthread_mutex_t&)', 'logging::LogMessage::stream()', 'std::__cxx11::basic_string , std::allocator >* logging::CheckEQImpl (unsigned long const&, unsigned long const&, char const*)', 'logging::LogMessage::LogMessage(char const*, int, char const*, std::__cxx11::basic_string , std::allocator >*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [2])', 'bvar::VarEntry* butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::seek , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&) const', 'std::__cxx11::basic_string , std::allocator >::clear()', 'logging::LogStream::SetCheck()', 'logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'bvar::get_var_map(std::__cxx11::basic_string , std::allocator > const&)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'std::lock_guard ::~lock_guard()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'std::enable_if ::type butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::erase , std::allocator >, false>(std::__cxx11::basic_string , std::allocator > const&, bvar::VarEntry*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [13])', 'logging::LogMessage::~LogMessage()']

3801 32754 bvar::Variable::hide() call site: 00000 /src/brpc/src/bvar/variable.cpp:185
192 11038 22 :

['std::ostream::write(char const*, long)', 'std::unique_ptr >::operator*() const', 'brpc::HttpHeader::status_code() const', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'butil::IOBufBuilder::buf()', 'std::__cxx11::basic_string , std::allocator >::size() const', 'std::unique_ptr >::reset(butil::IOBufBuilder*)', 'brpc::HttpMessage::header()', 'butil::ToPrintableString[abi:cxx11](void const*, unsigned long, unsigned long)', 'std::__cxx11::basic_string , std::allocator >::~basic_string()', 'logging::LogMessage::stream()', 'unsigned long const& std::min (unsigned long const&, unsigned long const&)', 'std::unique_ptr >::operator->() const', 'std::basic_ostream >& std::operator<< >(std::basic_ostream >&, char const*)', 'logging::LogStream& logging::LogStream::operator<< (char const&)', 'logging::LogStream& logging::LogStream::operator<< (butil::IOBuf const&)', 'std::__cxx11::basic_string , std::allocator >::data() const', 'logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::LogMessageVoidify()', 'std::numeric_limits ::max()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

38030 57816 brpc::HttpMessage::OnBody(charconst*,unsignedlong) call site: 00000 /src/brpc/src/brpc/details/http_message.cpp:257
128 128 2 :

['butil::string_printf[abi:cxx11](char const*, ...)', 'std::__cxx11::basic_string , std::allocator >::operator=(std::__cxx11::basic_string , std::allocator >&&)']

168 168 brpc::AdaptiveMaxConcurrency::AdaptiveMaxConcurrency(int) call site: 00000 /src/brpc/src/brpc/adaptive_max_concurrency.cpp:34
125 135 6 :

['butil::BasicStringPiece , std::allocator > >::empty() const', 'std::basic_ostream >& std::operator<< >(std::basic_ostream >&, char const*)', 'logging::PrintLogPrefixAsJSON(std::ostream&, int, butil::BasicStringPiece , std::allocator > >, butil::BasicStringPiece , std::allocator > >, int, timeval)', 'std::basic_ostream >& std::operator<< >(std::basic_ostream >&, char)', 'butil::BasicStringPiece , std::allocator > >::size() const', 'butil::BasicStringPiece , std::allocator > >::operator[](unsigned long) const']

125 185 logging::PrintLog(std::ostream&,int,charconst*,int,charconst*,butil::BasicStringPiece ,std::allocator >>const&) call site: 00000 /src/brpc/src/butil/logging.cc:962
70 72 6 :

['butil::SingleThreadedPool<72ul, 1024ul, 16ul, butil::PtAllocator>::back(void*)', 'butil::FlatMap , std::allocator >, std::__cxx11::basic_string , std::allocator >, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::Bucket::element()', 'butil::bit_array_clear(unsigned long*, unsigned long)', 'butil::FlatMapElement , std::allocator >, std::__cxx11::basic_string , std::allocator > >::~FlatMapElement()', 'butil::FlatMap , std::allocator >, std::__cxx11::basic_string , std::allocator >, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::Bucket::set_invalid()', 'butil::FlatMap , std::allocator >, std::__cxx11::basic_string , std::allocator >, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::Bucket::is_valid() const']

70 72 butil::FlatMap ,std::allocator >,std::__cxx11::basic_string ,std::allocator >,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::clear() call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:532
53 10897 14 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'butil::IOBufBuilder::buf()', 'logging::LogMessage::stream()', 'std::unique_ptr >::operator->() const', 'std::unique_ptr >::reset(butil::IOBufBuilder*)', 'std::basic_ostream >& std::operator<< >(std::basic_ostream >&, char const*)', 'logging::LogStream& logging::LogStream::operator<< (char const&)', 'logging::LogStream& logging::LogStream::operator<< (butil::IOBuf const&)', 'logging::LogMessageVoidify::LogMessageVoidify()', 'std::unique_ptr >::operator*() const', 'std::ostream::operator<<(unsigned long)', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

22573 33427 brpc::HttpMessage::OnMessageComplete() call site: 00000 /src/brpc/src/brpc/details/http_message.cpp:326
21 21 1 :

['butil::fast_rand_less_than(unsigned long)']

21 21 butil::IsIOBufProfilerSamplable() call site: 00000 /src/brpc/src/butil/iobuf_profiler.cpp:77
20 24 6 :

['butil::IOBuf::empty() const', 'butil::IOBuf::size() const', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [31])', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [17])', 'logging::LogStream& logging::LogStream::operator<< (unsigned long const&)', 'logging::GetMinLogLevel()']

20 10866 brpc::HttpMessage::ParseFromIOBuf(butil::IOBufconst&) call site: 00000 /src/brpc/src/brpc/details/http_message.cpp:484
18 4397 2 :

['butil::iobuf::acquire_blockref_array()', 'butil::IOBuf::Block::inc_ref()']

18 4397 voidbutil::IOBuf::_push_or_move_back_ref_to_smallview (butil::IOBuf::BlockRefconst&) call site: 00000 /src/brpc/src/butil/iobuf.cpp:620

Runtime coverage analysis

Covered functions
1205
Functions that are reachable but not covered
2121
Reachable functions
2680
Percentage of reachable functions covered
20.86%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/brpc/test/fuzzing/fuzz_http.cpp 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/allocator.h 13
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h 85
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h 30
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/ptr_traits.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.tcc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/type_traits.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/char_traits.h 3
/src/brpc/src/butil/iobuf_inl.h 9
/src/brpc/src/butil/iobuf.cpp 25
/src/brpc/src/butil/logging.cc 35
/src/brpc/src/butil/logging.h 71
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/sstream 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_ios.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ostream 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/streambuf 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/sstream.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h 44
/src/brpc/src/butil/debug/stack_trace_posix.cc 9
/src/brpc/src/butil/numerics/safe_conversions.h 1
/src/brpc/src/butil/numerics/safe_conversions_impl.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/limits 5
/src/brpc/src/butil/debug/stack_trace.cc 3
/src/brpc/src/butil/third_party/symbolize/symbolize.cc 25
/src/brpc/src/butil/third_party/symbolize/demangle.cc 63
/src/brpc/src/butil/containers/doubly_buffered_data.h 19
/src/brpc/src/butil/memory/singleton.h 8
/src/brpc/src/butil/atomicops_internals_x86_gcc.h 8
/src/brpc/src/butil/atomicops.h 28
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/atomic 13
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/atomic_base.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_vector.h 149
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 16
/src/brpc/src/bthread/mutex.cpp 12
/src/brpc/src/butil/scoped_lock.h 2
/src/brpc/src/bvar/collector.h 3
/src/brpc/src/butil/fast_rand.cpp 7
/src/brpc/src/butil/time.h 7
/src/brpc/src/bvar/collector.cpp 14
/src/brpc/src/butil/memory/singleton_on_pthread_once.h 4
/src/brpc/src/bvar/reducer.h 8
/src/brpc/src/bvar/variable.h 2
/src/brpc/src/bvar/detail/combiner.h 32
/src/brpc/src/bvar/detail/agent_group.h 18
/src/brpc/src/butil/errno.cpp 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 28
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 6
/src/brpc/src/butil/memory/scope_guard.h 20
/src/brpc/src/butil/debug/stack_trace.h 1
/src/brpc/src/butil/object_pool.h 5
/src/brpc/src/butil/object_pool_inl.h 26
/src/brpc/src/butil/thread_local.cpp 10
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 35
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_pair.h 2
/src/brpc/src/butil/memory/manual_constructor.h 14
/src/brpc/src/butil/memory/aligned_memory.h 13
/src/brpc/src/butil/containers/linked_list.h 29
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 2
/src/brpc/src/bvar/variable.cpp 7
/src/brpc/src/butil/containers/flat_map_inl.h 34
/src/brpc/src/butil/single_threaded_pool.h 22
/src/brpc/src/butil/containers/flat_map.h 54
/src/brpc/src/bthread/key.cpp 21
/src/brpc/src/bthread/task_group.cpp 1
/src/brpc/src/bthread/task_group.h 1
/src/brpc/src/butil/thread_key.h 2
/src/brpc/src/butil/thread_key.cpp 4
/src/brpc/src/bthread/types.h 1
/src/brpc/src/butil/bit_array.h 2
/src/brpc/src/butil/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/thread_id_name_manager.cc 3
/src/brpc/src/butil/memory/singleton.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h 1
/src/brpc/src/bvar/passive_status.h 7
/src/brpc/src/butil/strings/string_piece.h 18
/src/brpc/src/bvar/window.h 6
/src/brpc/src/bvar/detail/sampler.h 4
/src/brpc/src/bvar/detail/sampler.cpp 11
/src/brpc/src/butil/containers/bounded_queue.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_mutex.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_tree.h 2
/src/brpc/src/butil/strings/string_piece.cc 9
/src/brpc/src/butil/debug/alias.cc 1
/src/brpc/src/butil/debug/debugger_posix.cc 3
/src/brpc/src/butil/iobuf_profiler.cpp 7
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 3
/src/brpc/src/butil/threading/simple_thread.cc 3
/src/brpc/src/butil/threading/platform_thread.h 3
/src/brpc/src/butil/threading/simple_thread.h 3
/src/brpc/src/butil/synchronization/waitable_event_posix.cc 5
/src/brpc/src/butil/memory/ref_counted.h 8
/src/brpc/src/butil/memory/ref_counted.cc 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_list.h 9
/src/brpc/src/butil/atomic_ref_count.h 5
/src/brpc/src/butil/containers/mpsc_queue.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 3
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 3
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 1
/src/brpc/src/butil/iobuf.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h 1
/src/brpc/src/butil/threading/thread_restrictions.h 2
/src/brpc/src/butil/threading/thread_restrictions.cc 1
/src/brpc/src/butil/lazy_instance.h 5
/src/brpc/src/butil/lazy_instance.cc 2
/src/brpc/src/butil/threading/thread_local.h 6
/src/brpc/src/butil/threading/thread_local_posix.cc 3
/src/brpc/src/butil/at_exit.cc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_stack.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/list.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/aligned_buffer.h 2
/src/brpc/src/brpc/details/http_message.cpp 6
/src/brpc/src/brpc/http_header.cpp 1
/src/brpc/src/butil/containers/case_ignored_flat_map.h 1
/src/brpc/src/brpc/uri.cpp 2
/src/brpc/src/butil/status.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/tuple 5
/src/brpc/src/brpc/details/http_parser.cpp 9
/src/brpc/src/brpc/http_header.h 1
/src/brpc/src/brpc/details/http_message.h 1
/src/brpc/src/brpc/http_method.cpp 2
/src/brpc/src/butil/string_printf.cpp 3
/src/brpc/src/butil/binary_printer.h 2
/src/brpc/src/butil/binary_printer.cpp 9
/src/brpc/src/butil/status.cpp 2

Fuzzer: fuzz_shead

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 5126 93.4%
gold [1:9] 199 3.62%
yellow [10:29] 45 0.82%
greenyellow [30:49] 1 0.01%
lawngreen 50+ 116 2.11%
All colors 5487 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
18258 32754 18 :

['logging::LogStream& logging::LogStream::operator<< , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&)', 'std::lock_guard ::lock_guard(pthread_mutex_t&)', 'logging::LogMessage::stream()', 'std::__cxx11::basic_string , std::allocator >* logging::CheckEQImpl (unsigned long const&, unsigned long const&, char const*)', 'logging::LogMessage::LogMessage(char const*, int, char const*, std::__cxx11::basic_string , std::allocator >*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [2])', 'bvar::VarEntry* butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::seek , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&) const', 'std::__cxx11::basic_string , std::allocator >::clear()', 'logging::LogStream::SetCheck()', 'logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'bvar::get_var_map(std::__cxx11::basic_string , std::allocator > const&)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'std::lock_guard ::~lock_guard()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'std::enable_if ::type butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::erase , std::allocator >, false>(std::__cxx11::basic_string , std::allocator > const&, bvar::VarEntry*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [13])', 'logging::LogMessage::~LogMessage()']

18258 32754 bvar::Variable::hide() call site: 00000 /src/brpc/src/bvar/variable.cpp:185
10854 10854 9 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [14])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [12])', 'logging::LogStream& logging::LogStream::operator<< (unsigned long const&)', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10854 10854 butil::iobuf::create_block(unsignedlong) call site: 00000 /src/brpc/src/butil/iobuf.cpp:342
10848 10848 8 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::NewBucketsInfo::NewBucketsInfo()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10848 10890 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::new_buckets_and_thumbnail(unsignedlong,unsignedlong) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:782
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::stream()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:356
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::detail::AgentCombiner ::get_or_create_tls_agent() call site: 00000 /src/brpc/src/bvar/detail/combiner.h:298
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::Reducer ::operator<<(bvar::detail::Sampler*const&) call site: 00000 /src/brpc/src/bvar/reducer.h:195
4455 4455 1 :

['butil::IOBuf::push_back(char)']

4455 4455 butil::IOBuf::append(voidconst*,unsignedlong) call site: 00000 /src/brpc/src/butil/iobuf.cpp:1215
4388 4388 1 :

['void butil::IOBuf::_push_or_move_back_ref_to_bigview (butil::IOBuf::BlockRef const&)']

4388 4388 butil::IOBuf::_push_back_ref(butil::IOBuf::BlockRefconst&) call site: 00000 /src/brpc/src/butil/iobuf_inl.h:184
4385 4385 1 :

['void butil::IOBuf::_push_or_move_back_ref_to_bigview (butil::IOBuf::BlockRef const&)']

4385 4385 butil::IOBuf::_move_back_ref(butil::IOBuf::BlockRefconst&) call site: 00000 /src/brpc/src/butil/iobuf_inl.h:192
128 128 2 :

['butil::string_printf[abi:cxx11](char const*, ...)', 'std::__cxx11::basic_string , std::allocator >::operator=(std::__cxx11::basic_string , std::allocator >&&)']

168 168 brpc::AdaptiveMaxConcurrency::AdaptiveMaxConcurrency(int) call site: 00000 /src/brpc/src/brpc/adaptive_max_concurrency.cpp:34
21 21 1 :

['butil::fast_rand_less_than(unsigned long)']

21 21 butil::IsIOBufProfilerSamplable() call site: 00000 /src/brpc/src/butil/iobuf_profiler.cpp:77
18 8782 2 :

['butil::iobuf::acquire_blockref_array()', 'butil::IOBuf::Block::dec_ref()']

18 8782 voidbutil::IOBuf::_push_or_move_back_ref_to_smallview (butil::IOBuf::BlockRefconst&) call site: 00000 /src/brpc/src/butil/iobuf.cpp:598

Runtime coverage analysis

Covered functions
1054
Functions that are reachable but not covered
2213
Reachable functions
2628
Percentage of reachable functions covered
15.79%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/brpc/test/fuzzing/fuzz_shead.cpp 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/allocator.h 28
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h 188
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h 32
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/ptr_traits.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.tcc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/type_traits.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/char_traits.h 4
/src/brpc/src/butil/iobuf_inl.h 11
/src/brpc/src/butil/iobuf.cpp 33
/src/brpc/src/butil/logging.cc 35
/src/brpc/src/butil/logging.h 100
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/sstream 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_ios.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ostream 10
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/streambuf 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/sstream.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h 97
/src/brpc/src/butil/debug/stack_trace_posix.cc 9
/src/brpc/src/butil/numerics/safe_conversions.h 1
/src/brpc/src/butil/numerics/safe_conversions_impl.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/limits 6
/src/brpc/src/butil/debug/stack_trace.cc 3
/src/brpc/src/butil/third_party/symbolize/symbolize.cc 25
/src/brpc/src/butil/third_party/symbolize/demangle.cc 63
/src/brpc/src/butil/containers/doubly_buffered_data.h 19
/src/brpc/src/butil/memory/singleton.h 8
/src/brpc/src/butil/atomicops_internals_x86_gcc.h 8
/src/brpc/src/butil/atomicops.h 99
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/atomic 46
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/atomic_base.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_vector.h 368
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 39
/src/brpc/src/bthread/mutex.cpp 23
/src/brpc/src/butil/scoped_lock.h 4
/src/brpc/src/bvar/collector.h 3
/src/brpc/src/butil/fast_rand.cpp 9
/src/brpc/src/butil/time.h 11
/src/brpc/src/bvar/collector.cpp 14
/src/brpc/src/butil/memory/singleton_on_pthread_once.h 4
/src/brpc/src/bvar/reducer.h 17
/src/brpc/src/bvar/variable.h 4
/src/brpc/src/bvar/detail/combiner.h 85
/src/brpc/src/bvar/detail/agent_group.h 51
/src/brpc/src/butil/errno.cpp 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 53
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 8
/src/brpc/src/butil/memory/scope_guard.h 24
/src/brpc/src/butil/debug/stack_trace.h 1
/src/brpc/src/butil/object_pool.h 17
/src/brpc/src/butil/object_pool_inl.h 102
/src/brpc/src/butil/thread_local.cpp 10
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 78
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_pair.h 1
/src/brpc/src/butil/memory/manual_constructor.h 22
/src/brpc/src/butil/memory/aligned_memory.h 17
/src/brpc/src/butil/containers/linked_list.h 74
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 6
/src/brpc/src/bvar/variable.cpp 7
/src/brpc/src/butil/containers/flat_map_inl.h 43
/src/brpc/src/butil/single_threaded_pool.h 24
/src/brpc/src/butil/containers/flat_map.h 57
/src/brpc/src/bthread/key.cpp 24
/src/brpc/src/bthread/task_group.cpp 22
/src/brpc/src/bthread/task_group.h 13
/src/brpc/src/butil/thread_key.h 2
/src/brpc/src/butil/thread_key.cpp 4
/src/brpc/src/bthread/types.h 1
/src/brpc/src/butil/bit_array.h 2
/src/brpc/src/butil/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/thread_id_name_manager.cc 3
/src/brpc/src/butil/memory/singleton.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h 1
/src/brpc/src/bvar/passive_status.h 10
/src/brpc/src/butil/strings/string_piece.h 21
/src/brpc/src/bvar/window.h 19
/src/brpc/src/bvar/detail/sampler.h 14
/src/brpc/src/bvar/detail/sampler.cpp 11
/src/brpc/src/butil/containers/bounded_queue.h 33
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_mutex.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_tree.h 2
/src/brpc/src/butil/strings/string_piece.cc 9
/src/brpc/src/butil/debug/alias.cc 1
/src/brpc/src/butil/debug/debugger_posix.cc 3
/src/brpc/src/butil/iobuf_profiler.cpp 7
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 3
/src/brpc/src/butil/threading/simple_thread.cc 3
/src/brpc/src/butil/threading/platform_thread.h 3
/src/brpc/src/butil/threading/simple_thread.h 3
/src/brpc/src/butil/synchronization/waitable_event_posix.cc 5
/src/brpc/src/butil/memory/ref_counted.h 8
/src/brpc/src/butil/memory/ref_counted.cc 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_list.h 9
/src/brpc/src/butil/atomic_ref_count.h 5
/src/brpc/src/butil/containers/mpsc_queue.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 13
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 3
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 1
/src/brpc/src/butil/iobuf.h 5
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h 1
/src/brpc/src/butil/threading/thread_restrictions.h 2
/src/brpc/src/butil/threading/thread_restrictions.cc 1
/src/brpc/src/butil/lazy_instance.h 5
/src/brpc/src/butil/lazy_instance.cc 2
/src/brpc/src/butil/threading/thread_local.h 6
/src/brpc/src/butil/threading/thread_local_posix.cc 3
/src/brpc/src/butil/at_exit.cc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_stack.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/list.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/aligned_buffer.h 2
/src/brpc/src/brpc/policy/nshead_protocol.cpp 1
/src/brpc/src/brpc/parse_result.h 4
/src/brpc/src/brpc/policy/most_common_message.h 2
/src/brpc/src/brpc/input_message_base.h 1
/src/brpc/src/brpc/destroyable.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h 27
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/tuple 20
/src/brpc/src/brpc/socket.h 2
/src/brpc/src/brpc/input_messenger.cpp 1
/src/brpc/src/brpc/socket_id.h 1
/src/brpc/src/brpc/socket.cpp 4
/src/brpc/src/brpc/versioned_ref_with_id.h 17
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h 4
/src/brpc/src/brpc/shared_object.h 1
/src/brpc/src/brpc/socket_inl.h 2
/src/brpc/src/brpc/event_dispatcher.h 2
/src/brpc/src/brpc/event_dispatcher.cpp 4
/src/brpc/src/brpc/event_dispatcher_epoll.cpp 5
/src/brpc/src/butil/fd_utility.cpp 1
/src/brpc/src/bthread/bthread.cpp 1
/src/brpc/src/bthread/task_group_inl.h 7
/src/brpc/src/butil/resource_pool.h 15
/src/brpc/src/butil/resource_pool_inl.h 51
/src/brpc/src/bthread/butex.cpp 18
/src/brpc/src/bthread/errno.cpp 1
/src/brpc/src/bthread/sys_futex.h 2
/src/brpc/src/bthread/task_control.cpp 13
/src/brpc/src/bthread/task_control.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/array 4
/src/brpc/src/bthread/work_stealing_queue.h 7
/src/brpc/src/butil/compat.h 1
/src/brpc/src/bthread/parking_lot.h 6
/src/brpc/src/bthread/remote_task_queue.h 6
/src/brpc/src/bthread/stack_inl.h 23
/src/brpc/src/bthread/stack.cpp 2
/src/brpc/src/butil/third_party/dynamic_annotations/dynamic_annotations.c 2
/src/brpc/src/bthread/stack.h 1
/src/brpc/src/bthread/task_meta.h 5
/src/brpc/src/bthread/butex.h 1
/src/brpc/src/bthread/mutex.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_lock.h 4
/src/brpc/src/butil/string_printf.cpp 3
/src/brpc/src/bvar/latency_recorder.h 2
/src/brpc/src/bvar/latency_recorder.cpp 15
/src/brpc/src/bvar/recorder.h 17
/src/brpc/src/bvar/detail/percentile.cpp 8
/src/brpc/src/bvar/detail/percentile.h 36
/src/brpc/src/bvar/vector.h 2
/src/brpc/src/butil/macros.h 4
/src/brpc/src/bthread/timer_thread.cpp 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward/hash_fun.h 1
/src/brpc/src/bthread/id.cpp 11
/src/brpc/src/bthread/list_of_abafree_id.h 1
/src/brpc/src/brpc/authenticator.h 1

Fuzzer: fuzz_esp

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 5168 94.3%
gold [1:9] 156 2.84%
yellow [10:29] 43 0.78%
greenyellow [30:49] 2 0.03%
lawngreen 50+ 107 1.95%
All colors 5476 100

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
18258 32754 18 :

['logging::LogStream& logging::LogStream::operator<< , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&)', 'std::lock_guard ::lock_guard(pthread_mutex_t&)', 'logging::LogMessage::stream()', 'std::__cxx11::basic_string , std::allocator >* logging::CheckEQImpl (unsigned long const&, unsigned long const&, char const*)', 'logging::LogMessage::LogMessage(char const*, int, char const*, std::__cxx11::basic_string , std::allocator >*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [2])', 'bvar::VarEntry* butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::seek , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&) const', 'std::__cxx11::basic_string , std::allocator >::clear()', 'logging::LogStream::SetCheck()', 'logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'bvar::get_var_map(std::__cxx11::basic_string , std::allocator > const&)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'std::lock_guard ::~lock_guard()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [22])', 'std::enable_if ::type butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::erase , std::allocator >, false>(std::__cxx11::basic_string , std::allocator > const&, bvar::VarEntry*)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [13])', 'logging::LogMessage::~LogMessage()']

18258 32754 bvar::Variable::hide() call site: 00000 /src/brpc/src/bvar/variable.cpp:185
10854 10854 9 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [14])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [12])', 'logging::LogStream& logging::LogStream::operator<< (unsigned long const&)', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10854 10854 butil::iobuf::create_block(unsignedlong) call site: 00000 /src/brpc/src/butil/iobuf.cpp:342
10848 10848 8 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogMessageVoidify::LogMessageVoidify()', 'butil::FlatMap , std::allocator >, bvar::VarEntry, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::NewBucketsInfo::NewBucketsInfo()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10848 10890 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::new_buckets_and_thumbnail(unsignedlong,unsignedlong) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:782
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [20])', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::stream()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) call site: 00000 /src/brpc/src/butil/containers/flat_map_inl.h:356
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::detail::AgentCombiner ::get_or_create_tls_agent() call site: 00000 /src/brpc/src/bvar/detail/combiner.h:298
10846 10846 7 :

['logging::LogMessage::LogMessage(char const*, int, char const*, int)', 'logging::LogMessageVoidify::operator&(std::ostream&)', 'logging::LogMessage::stream()', 'logging::LogStream& logging::LogStream::operator<< (char const (&) [21])', 'logging::LogMessageVoidify::LogMessageVoidify()', 'logging::LogMessage::~LogMessage()', 'logging::GetMinLogLevel()']

10846 10846 bvar::Reducer ::operator<<(bvar::detail::Sampler*const&) call site: 00000 /src/brpc/src/bvar/reducer.h:195
4455 4455 1 :

['butil::IOBuf::push_back(char)']

4455 4455 butil::IOBuf::append(voidconst*,unsignedlong) call site: 00000 /src/brpc/src/butil/iobuf.cpp:1215
4388 4388 1 :

['void butil::IOBuf::_push_or_move_back_ref_to_bigview (butil::IOBuf::BlockRef const&)']

4388 4388 butil::IOBuf::_push_back_ref(butil::IOBuf::BlockRefconst&) call site: 00000 /src/brpc/src/butil/iobuf_inl.h:184
4385 4385 1 :

['void butil::IOBuf::_push_or_move_back_ref_to_bigview (butil::IOBuf::BlockRef const&)']

4385 4385 butil::IOBuf::_move_back_ref(butil::IOBuf::BlockRefconst&) call site: 00000 /src/brpc/src/butil/iobuf_inl.h:192
128 128 2 :

['butil::string_printf[abi:cxx11](char const*, ...)', 'std::__cxx11::basic_string , std::allocator >::operator=(std::__cxx11::basic_string , std::allocator >&&)']

168 168 brpc::AdaptiveMaxConcurrency::AdaptiveMaxConcurrency(int) call site: 00000 /src/brpc/src/brpc/adaptive_max_concurrency.cpp:34
21 21 1 :

['butil::fast_rand_less_than(unsigned long)']

21 21 butil::IsIOBufProfilerSamplable() call site: 00000 /src/brpc/src/butil/iobuf_profiler.cpp:77
18 18 1 :

['butil::iobuf::acquire_blockref_array()']

18 4400 voidbutil::IOBuf::_push_or_move_back_ref_to_smallview (butil::IOBuf::BlockRefconst&) call site: 00000 /src/brpc/src/butil/iobuf.cpp:605

Runtime coverage analysis

Covered functions
1038
Functions that are reachable but not covered
2193
Reachable functions
2576
Percentage of reachable functions covered
14.87%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/brpc/test/fuzzing/fuzz_esp.cpp 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/allocator.h 28
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h 188
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h 32
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/ptr_traits.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.tcc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/type_traits.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/char_traits.h 4
/src/brpc/src/butil/iobuf_inl.h 11
/src/brpc/src/butil/iobuf.cpp 33
/src/brpc/src/butil/logging.cc 35
/src/brpc/src/butil/logging.h 100
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/sstream 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_ios.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ostream 10
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/streambuf 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/sstream.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h 97
/src/brpc/src/butil/debug/stack_trace_posix.cc 9
/src/brpc/src/butil/numerics/safe_conversions.h 1
/src/brpc/src/butil/numerics/safe_conversions_impl.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/limits 6
/src/brpc/src/butil/debug/stack_trace.cc 3
/src/brpc/src/butil/third_party/symbolize/symbolize.cc 25
/src/brpc/src/butil/third_party/symbolize/demangle.cc 63
/src/brpc/src/butil/containers/doubly_buffered_data.h 19
/src/brpc/src/butil/memory/singleton.h 8
/src/brpc/src/butil/atomicops_internals_x86_gcc.h 8
/src/brpc/src/butil/atomicops.h 99
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/atomic 46
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/atomic_base.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_vector.h 368
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 39
/src/brpc/src/bthread/mutex.cpp 23
/src/brpc/src/butil/scoped_lock.h 4
/src/brpc/src/bvar/collector.h 3
/src/brpc/src/butil/fast_rand.cpp 9
/src/brpc/src/butil/time.h 11
/src/brpc/src/bvar/collector.cpp 14
/src/brpc/src/butil/memory/singleton_on_pthread_once.h 4
/src/brpc/src/bvar/reducer.h 17
/src/brpc/src/bvar/variable.h 4
/src/brpc/src/bvar/detail/combiner.h 85
/src/brpc/src/bvar/detail/agent_group.h 51
/src/brpc/src/butil/errno.cpp 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 53
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 8
/src/brpc/src/butil/memory/scope_guard.h 24
/src/brpc/src/butil/debug/stack_trace.h 1
/src/brpc/src/butil/object_pool.h 17
/src/brpc/src/butil/object_pool_inl.h 102
/src/brpc/src/butil/thread_local.cpp 10
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 78
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_pair.h 1
/src/brpc/src/butil/memory/manual_constructor.h 22
/src/brpc/src/butil/memory/aligned_memory.h 17
/src/brpc/src/butil/containers/linked_list.h 74
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 6
/src/brpc/src/bvar/variable.cpp 7
/src/brpc/src/butil/containers/flat_map_inl.h 43
/src/brpc/src/butil/single_threaded_pool.h 24
/src/brpc/src/butil/containers/flat_map.h 57
/src/brpc/src/bthread/key.cpp 24
/src/brpc/src/bthread/task_group.cpp 22
/src/brpc/src/bthread/task_group.h 13
/src/brpc/src/butil/thread_key.h 2
/src/brpc/src/butil/thread_key.cpp 4
/src/brpc/src/bthread/types.h 1
/src/brpc/src/butil/bit_array.h 2
/src/brpc/src/butil/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/thread_id_name_manager.cc 3
/src/brpc/src/butil/memory/singleton.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h 1
/src/brpc/src/bvar/passive_status.h 10
/src/brpc/src/butil/strings/string_piece.h 21
/src/brpc/src/bvar/window.h 19
/src/brpc/src/bvar/detail/sampler.h 14
/src/brpc/src/bvar/detail/sampler.cpp 11
/src/brpc/src/butil/containers/bounded_queue.h 33
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_mutex.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_tree.h 2
/src/brpc/src/butil/strings/string_piece.cc 9
/src/brpc/src/butil/debug/alias.cc 1
/src/brpc/src/butil/debug/debugger_posix.cc 3
/src/brpc/src/butil/iobuf_profiler.cpp 7
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 3
/src/brpc/src/butil/threading/simple_thread.cc 3
/src/brpc/src/butil/threading/platform_thread.h 3
/src/brpc/src/butil/threading/simple_thread.h 3
/src/brpc/src/butil/synchronization/waitable_event_posix.cc 5
/src/brpc/src/butil/memory/ref_counted.h 8
/src/brpc/src/butil/memory/ref_counted.cc 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_list.h 9
/src/brpc/src/butil/atomic_ref_count.h 5
/src/brpc/src/butil/containers/mpsc_queue.h 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 13
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 3
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 1
/src/brpc/src/butil/iobuf.h 5
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h 1
/src/brpc/src/butil/threading/thread_restrictions.h 2
/src/brpc/src/butil/threading/thread_restrictions.cc 1
/src/brpc/src/butil/lazy_instance.h 5
/src/brpc/src/butil/lazy_instance.cc 2
/src/brpc/src/butil/threading/thread_local.h 6
/src/brpc/src/butil/threading/thread_local_posix.cc 3
/src/brpc/src/butil/at_exit.cc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_stack.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/list.tcc 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/aligned_buffer.h 2
/src/brpc/src/brpc/policy/esp_protocol.cpp 1
/src/brpc/src/brpc/parse_result.h 4
/src/brpc/src/brpc/policy/most_common_message.h 2
/src/brpc/src/brpc/input_message_base.h 1
/src/brpc/src/brpc/destroyable.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h 27
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/tuple 20
/src/brpc/src/brpc/socket.h 2
/src/brpc/src/brpc/input_messenger.cpp 1
/src/brpc/src/brpc/socket_id.h 1
/src/brpc/src/brpc/socket.cpp 4
/src/brpc/src/brpc/versioned_ref_with_id.h 17
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h 4
/src/brpc/src/brpc/shared_object.h 1
/src/brpc/src/brpc/socket_inl.h 2
/src/brpc/src/brpc/event_dispatcher.h 2
/src/brpc/src/brpc/event_dispatcher.cpp 4
/src/brpc/src/brpc/event_dispatcher_epoll.cpp 5
/src/brpc/src/butil/fd_utility.cpp 1
/src/brpc/src/bthread/bthread.cpp 1
/src/brpc/src/bthread/task_group_inl.h 7
/src/brpc/src/butil/resource_pool.h 15
/src/brpc/src/butil/resource_pool_inl.h 51
/src/brpc/src/bthread/butex.cpp 18
/src/brpc/src/bthread/errno.cpp 1
/src/brpc/src/bthread/sys_futex.h 2
/src/brpc/src/bthread/task_control.cpp 13
/src/brpc/src/bthread/task_control.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/array 4
/src/brpc/src/bthread/work_stealing_queue.h 7
/src/brpc/src/butil/compat.h 1
/src/brpc/src/bthread/parking_lot.h 6
/src/brpc/src/bthread/remote_task_queue.h 6
/src/brpc/src/bthread/stack_inl.h 23
/src/brpc/src/bthread/stack.cpp 2
/src/brpc/src/butil/third_party/dynamic_annotations/dynamic_annotations.c 2
/src/brpc/src/bthread/stack.h 1
/src/brpc/src/bthread/task_meta.h 5
/src/brpc/src/bthread/butex.h 1
/src/brpc/src/bthread/mutex.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_lock.h 4
/src/brpc/src/butil/string_printf.cpp 3
/src/brpc/src/bvar/latency_recorder.h 2
/src/brpc/src/bvar/latency_recorder.cpp 15
/src/brpc/src/bvar/recorder.h 17
/src/brpc/src/bvar/detail/percentile.cpp 8
/src/brpc/src/bvar/detail/percentile.h 36
/src/brpc/src/bvar/vector.h 2
/src/brpc/src/butil/macros.h 4
/src/brpc/src/bthread/timer_thread.cpp 8
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward/hash_fun.h 1
/src/brpc/src/bthread/id.cpp 11
/src/brpc/src/bthread/list_of_abafree_id.h 1
/src/brpc/src/brpc/authenticator.h 1

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

/src/brpc/test/fuzzing/fuzz_json.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['JsonContextBody::JsonContextBody()', 'JsonContextBody::JsonContextBody()', 'JsonContextBody::JsonContextBody()', 'JsonContextBody::JsonContextBody()', 'JsonContextBody::JsonContextBody()', 'JsonContextBody::JsonContextBody()', 'JsonContextBody::JsonContextBody()', 'JsonContextBody::JsonContextBody()']

/src/brpc/test/fuzzing/fuzz_redis.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['bvar::PassiveStatus::PassiveStatus(butil::BasicStringPiece, std::allocator > > const&, long (*)(void*), void*)', 'butil::internal::GetRangeConstraint(int)', 'bvar::VarMapWithLock::VarMapWithLock()', 'brpc::RedisReply::RedisReply(butil::Arena*)', 'butil::detail::ThreadExitHelper::add(void (*)(void*), void*)', 'bvar::Variable::Variable()', 'butil::IOBuf::IOBuf()', 'bvar::VarEntry* butil::FlatMap, std::allocator >, bvar::VarEntry, butil::DefaultHasher, std::allocator > >, butil::DefaultEqualTo, std::allocator > >, false, butil::PtAllocator, false>::seek, std::allocator > >(std::__cxx11::basic_string, std::allocator > const&) const', 'bvar::Variable::expose(butil::BasicStringPiece, std::allocator > > const&, bvar::DisplayFilter)', 'butil::Lock::Release()']

/src/brpc/test/fuzzing/fuzz_hpack.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['butil::InitGlobalIOBufProfilerInfo()', 'butil::IOBuf::~IOBuf()', 'bthread_getspecific', 'bvar::PassiveStatus::PassiveStatus(butil::BasicStringPiece, std::allocator > > const&, long (*)(void*), void*)', 'bvar::VarEntry* butil::FlatMap, std::allocator >, bvar::VarEntry, butil::DefaultHasher, std::allocator > >, butil::DefaultEqualTo, std::allocator > >, false, butil::PtAllocator, false>::seek, std::allocator > >(std::__cxx11::basic_string, std::allocator > const&) const', 'google::SymbolizeAndDemangle(void*, char*, int, unsigned long*)', 'logging::LogMessage::~LogMessage()', 'bvar::Variable::expose(butil::BasicStringPiece, std::allocator > > const&, bvar::DisplayFilter)', 'butil::ManualConstructor, std::allocator >, unsigned long> >::get()', 'butil::Lock::Release()']

/src/brpc/test/fuzzing/fuzz_butil.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['butil::internal::GetRangeConstraint(int)', 'bvar::PassiveStatus::PassiveStatus(butil::BasicStringPiece, std::allocator > > const&, long (*)(void*), void*)', 'bvar::VarMapWithLock::VarMapWithLock()', 'butil::detail::ThreadExitHelper::add(void (*)(void*), void*)', 'bvar::Variable::Variable()', 'bvar::VarEntry* butil::FlatMap, std::allocator >, bvar::VarEntry, butil::DefaultHasher, std::allocator > >, butil::DefaultEqualTo, std::allocator > >, false, butil::PtAllocator, false>::seek, std::allocator > >(std::__cxx11::basic_string, std::allocator > const&) const', 'bvar::Variable::expose(butil::BasicStringPiece, std::allocator > > const&, bvar::DisplayFilter)', 'butil::Lock::Release()', 'butil::Hash(char const*, unsigned long)', 'butil::Lock::Lock()']

/src/brpc/test/fuzzing/fuzz_uri.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['brpc::is_valid_char(char)', 'LLVMFuzzerTestOneInput', 'brpc::URI::Clear()', 'brpc::URI::URI()', 'brpc::URI::Clear()', 'butil::Status::set_errorv(int, char const*, __va_list_tag*)', 'brpc::URI::SetHttpURL(char const*)', 'brpc::is_valid_char(char)']

/src/brpc/test/fuzzing/fuzz_sofa.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['bvar::PassiveStatus::PassiveStatus(butil::BasicStringPiece, std::allocator > > const&, long (*)(void*), void*)', 'butil::internal::GetRangeConstraint(int)', 'bvar::VarMapWithLock::VarMapWithLock()', 'butil::detail::ThreadExitHelper::add(void (*)(void*), void*)', 'bvar::Variable::Variable()', 'butil::IOBuf::IOBuf()', 'bvar::VarEntry* butil::FlatMap, std::allocator >, bvar::VarEntry, butil::DefaultHasher, std::allocator > >, butil::DefaultEqualTo, std::allocator > >, false, butil::PtAllocator, false>::seek, std::allocator > >(std::__cxx11::basic_string, std::allocator > const&) const', 'bvar::Variable::expose(butil::BasicStringPiece, std::allocator > > const&, bvar::DisplayFilter)', 'butil::Lock::Release()', 'butil::Lock::Lock()']

/src/brpc/test/fuzzing/fuzz_hulu.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['butil::static_atomic::load(std::memory_order)', 'bvar::PassiveStatus::PassiveStatus(butil::BasicStringPiece, std::allocator > > const&, long (*)(void*), void*)', 'butil::internal::GetRangeConstraint(int)', 'bvar::VarMapWithLock::VarMapWithLock()', 'butil::detail::ThreadExitHelper::add(void (*)(void*), void*)', 'bvar::Variable::Variable()', 'butil::IOBuf::IOBuf()', 'bvar::VarEntry* butil::FlatMap, std::allocator >, bvar::VarEntry, butil::DefaultHasher, std::allocator > >, butil::DefaultEqualTo, std::allocator > >, false, butil::PtAllocator, false>::seek, std::allocator > >(std::__cxx11::basic_string, std::allocator > const&) const', 'bvar::Variable::expose(butil::BasicStringPiece, std::allocator > > const&, bvar::DisplayFilter)', 'butil::Lock::Release()']

/src/brpc/test/fuzzing/fuzz_http.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['logging::LogMessage::~LogMessage()', 'butil::InitGlobalIOBufProfilerInfo()', 'butil::IOBuf::~IOBuf()', 'bthread_getspecific', 'bvar::PassiveStatus::PassiveStatus(butil::BasicStringPiece, std::allocator > > const&, long (*)(void*), void*)', 'butil::detail::ThreadExitHelper::add(void (*)(void*), void*)', 'brpc::HttpMessage::ParseFromIOBuf(butil::IOBuf const&)', 'bvar::Variable::Variable()', 'bvar::VarEntry* butil::FlatMap, std::allocator >, bvar::VarEntry, butil::DefaultHasher, std::allocator > >, butil::DefaultEqualTo, std::allocator > >, false, butil::PtAllocator, false>::seek, std::allocator > >(std::__cxx11::basic_string, std::allocator > const&) const', 'bvar::Variable::expose(butil::BasicStringPiece, std::allocator > > const&, bvar::DisplayFilter)']

/src/brpc/test/fuzzing/fuzz_shead.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['butil::static_atomic::load(std::memory_order)', 'brpc::PipelinedInfo::PipelinedInfo()', 'butil::internal::GetRangeConstraint(int)', 'bvar::PassiveStatus::PassiveStatus(butil::BasicStringPiece, std::allocator > > const&, long (*)(void*), void*)', 'butil::InitGlobalIOBufProfilerInfo()', 'bvar::VarMapWithLock::VarMapWithLock()', 'butil::IOBuf::~IOBuf()', 'bvar::Variable::Variable()', 'butil::detail::ThreadExitHelper::add(void (*)(void*), void*)', 'bvar::VarEntry* butil::FlatMap, std::allocator >, bvar::VarEntry, butil::DefaultHasher, std::allocator > >, butil::DefaultEqualTo, std::allocator > >, false, butil::PtAllocator, false>::seek, std::allocator > >(std::__cxx11::basic_string, std::allocator > const&) const']

/src/brpc/test/fuzzing/fuzz_esp.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['butil::static_atomic::load(std::memory_order)', 'brpc::PipelinedInfo::PipelinedInfo()', 'butil::internal::GetRangeConstraint(int)', 'bvar::PassiveStatus::PassiveStatus(butil::BasicStringPiece, std::allocator > > const&, long (*)(void*), void*)', 'butil::InitGlobalIOBufProfilerInfo()', 'bvar::VarMapWithLock::VarMapWithLock()', 'butil::IOBuf::~IOBuf()', 'bvar::Variable::Variable()', 'butil::detail::ThreadExitHelper::add(void (*)(void*), void*)', 'bvar::VarEntry* butil::FlatMap, std::allocator >, bvar::VarEntry, butil::DefaultHasher, std::allocator > >, butil::DefaultEqualTo, std::allocator > >, false, butil::PtAllocator, false>::seek, std::allocator > >(std::__cxx11::basic_string, std::allocator > const&) const']

Runtime coverage analysis

This section shows analysis of runtime coverage data.

For futher technical details on how this section is generated, please see the Glossary .

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
intbthread::internal::pthread_mutex_lock_impl (pthread_mutex_t*,timespecconst*) 44 5 11.36%
intbthread::internal::pthread_mutex_unlock_impl (pthread_mutex_t*) 34 5 14.70%
butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) 36 15 41.66% ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
bvar::Variable::expose_impl(butil::BasicStringPiece ,std::allocator >>const&,butil::BasicStringPiece ,std::allocator >>const&,bvar::DisplayFilter) 36 18 50.0% []
butil::FlatMap ,std::allocator >,unsignedlong,butil::CaseIgnoredHasher,butil::CaseIgnoredEqual,false,butil::PtAllocator,false>::init(unsignedlong,unsignedint) 36 15 41.66% ['fuzz_hpack']
butil::FlatMap ::init(unsignedlong,unsignedint) 36 15 41.66% ['fuzz_hpack']
logging::LogStream::FlushWithoutReset() 64 32 50.0% ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
logging::DefaultLogSink::OnLogMessage(int,charconst*,int,charconst*,butil::BasicStringPiece ,std::allocator >>const&) 34 11 32.35% []
google::ParseOperatorName(google::State*) 37 18 48.64% ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
butil::Status::set_errorv(int,charconst*,__va_list_tag*) 56 28 50.0% ['fuzz_uri', 'fuzz_http']
brpc::HttpMessage::on_header_value(brpc::http_parser*,charconst*,unsignedlong) 50 26 52.0% []
brpc::HttpMessage::OnBody(charconst*,unsignedlong) 52 9 17.30% []
butil::FlatMap ,std::allocator >,std::__cxx11::basic_string ,std::allocator >,butil::CaseIgnoredHasher,butil::CaseIgnoredEqual,false,butil::PtAllocator,true>::init(unsignedlong,unsignedint) 36 15 41.66% ['fuzz_http']
voidbutil::IOBuf::_push_or_move_back_ref_to_smallview (butil::IOBuf::BlockRefconst&) 47 14 29.78% ['fuzz_redis', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp']

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
[] []
/src/brpc/src/brpc/policy/nacos_naming_service.h [] []
/src/brpc/src/brpc/details/http_message.h ['fuzz_http'] ['fuzz_http']
/src/brpc/src/brpc/builtin/pprof_service.cpp [] []
/src/brpc/src/butil/third_party/snappy/snappy-sinksource.cc [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/fstream [] []
/src/brpc/src/brpc/input_messenger.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/http_method.cpp ['fuzz_http'] []
/src/brpc/build/brpc/get_favicon.pb.h [] []
/src/brpc/src/brpc/builtin/get_js_service.cpp [] []
/src/brpc/build/brpc/builtin_service.pb.h [] []
/src/brpc/build/test/repeated.pb.cc [] []
/src/brpc/src/brpc/socket.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/memory/aligned_memory.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/test/fuzzing/fuzz_butil.cpp ['fuzz_butil'] ['fuzz_butil']
/src/brpc/src/butil/arena.cpp ['fuzz_redis'] ['fuzz_redis']
/src/brpc/src/brpc/progressive_attachment.cpp [] []
/src/brpc/src/butil/threading/thread_restrictions.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/usr/include/google/protobuf/stubs/casts.h [] []
/src/brpc/src/json2pb/encode_decode.cpp ['fuzz_json'] []
/src/brpc/src/butil/debug/proc_maps_linux.cc [] []
/src/brpc/src/brpc/builtin/prometheus_metrics_service.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_uninitialized.h [] []
/src/brpc/build/brpc/proto_base.pb.h [] []
/src/brpc/build/test/v2.pb.h [] []
/src/brpc/src/brpc/policy/round_robin_load_balancer.cpp [] []
/src/brpc/build/idl_options.pb.cc [] []
/src/brpc/src/brpc/policy/domain_naming_service.h [] []
/src/brpc/src/butil/iobuf.cpp ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/stream.h [] []
/src/brpc/src/butil/files/file_watcher.h [] []
/src/brpc/src/brpc/builtin/version_service.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/allocators.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/third_party/snappy/snappy-sinksource.h [] []
/src/brpc/src/brpc/details/rtmp_utils.cpp [] []
/src/brpc/src/butil/string_splitter.h [] []
/src/brpc/src/mcpack2pb/parser.h [] []
/src/brpc/src/butil/files/file_enumerator.cc [] []
/src/brpc/src/bthread/butex.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/builtin/common.cpp [] []
/src/brpc/src/butil/find_cstr.h [] []
/src/brpc/src/brpc/memcache.h [] []
/src/brpc/src/mcpack2pb/serializer-inl.h [] []
/src/brpc/test/fuzzing/fuzz_hpack.cpp ['fuzz_hpack'] ['fuzz_hpack']
/src/brpc/src/butil/memory/ref_counted.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/serialized_request.h [] []
/src/brpc/src/brpc/socket_id.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/third_party/rapidjson/internal/diyfp.h [] []
/usr/include/google/protobuf/map_field_lite.h [] []
/src/brpc/build/test/addressbook.pb.cc [] []
/src/brpc/src/bvar/detail/sampler.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/details/usercode_backup_pool.h [] []
/src/brpc/src/brpc/details/load_balancer_with_naming.h [] []
/usr/include/google/protobuf/message_lite.h ['fuzz_json'] []
/src/brpc/src/butil/files/file_watcher.cpp [] []
/src/brpc/src/butil/third_party/modp_b64/modp_b64.cc ['fuzz_json', 'fuzz_butil'] ['fuzz_butil']
/src/brpc/build/brpc/get_js.pb.cc [] []
/src/brpc/build/brpc/options.pb.cc [] []
/src/brpc/src/butil/third_party/dynamic_annotations/dynamic_annotations.c ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/bthread/sys_futex.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/string_splitter_inl.h ['fuzz_uri'] ['fuzz_uri']
/src/brpc/build/test/v3.pb.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward/hash_fun.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/details/ssl_helper.h [] []
/src/brpc/src/bthread/butex.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/circuit_breaker.h [] []
/src/brpc/src/brpc/simple_data_pool.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/limits ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/build/brpc/policy/sofa_pbrpc_meta.pb.cc [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ostream ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/threading/platform_thread_linux.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/bvar/latency_recorder.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/sha1_portable.cc ['fuzz_butil'] ['fuzz_butil']
/src/brpc/src/bvar/detail/combiner.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/policy/http2_rpc_protocol.cpp [] []
/src/brpc/src/brpc/versioned_ref_with_id.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/builtin/pprof_perl.cpp [] []
/src/brpc/src/brpc/input_message_base.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/build/brpc/trackme.pb.cc [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/sstream ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/third_party/dmg_fp/dtoa.cc [] []
/src/brpc/src/brpc/rpc_pb_message_factory.h [] []
/src/brpc/src/butil/third_party/rapidjson/reader.h ['fuzz_json'] []
/src/brpc/src/butil/binary_printer.h ['fuzz_http'] []
/src/brpc/src/brpc/http_header.h ['fuzz_http'] ['fuzz_http']
/src/brpc/src/brpc/excluded_servers.h [] []
/src/brpc/src/brpc/serialized_response.h [] []
/src/brpc/src/brpc/builtin/bad_method_service.cpp [] []
/src/brpc/src/brpc/builtin/dir_service.h [] []
/usr/include/google/protobuf/map_field.h [] []
/src/brpc/src/brpc/builtin/flags_service.h [] []
/src/brpc/src/brpc/policy/nshead_protocol.cpp ['fuzz_shead'] ['fuzz_shead']
/src/brpc/src/butil/strings/sys_string_conversions_posix.cc [] []
/src/brpc/src/butil/third_party/rapidjson/internal/itoa.h [] []
/src/brpc/src/butil/memory/singleton.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/socket.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] ['fuzz_shead', 'fuzz_esp']
/src/brpc/src/butil/containers/bounded_queue.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack']
/src/brpc/build/test/addressbook_encode_decode.pb.h [] []
/src/brpc/src/brpc/rtmp.h [] []
/src/brpc/src/brpc/protocol.cpp [] []
/src/brpc/build/test/v1.pb.cc [] []
/usr/include/google/protobuf/map_field_inl.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_pair.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/files/scoped_file.h [] []
/src/brpc/src/brpc/circuit_breaker.cpp [] []
/src/brpc/src/brpc/details/tcmalloc_extension.cpp [] []
/src/brpc/src/brpc/policy/hulu_pbrpc_controller.h [] []
/src/brpc/src/brpc/policy/consul_naming_service.cpp [] []
/src/brpc/src/brpc/policy/consistent_hashing_load_balancer.h [] []
/src/brpc/build/brpc/nshead_meta.pb.cc [] []
/src/brpc/src/brpc/builtin/dir_service.cpp [] []
/src/brpc/src/brpc/details/rtmp_utils.h [] []
/src/brpc/src/brpc/policy/redis_authenticator.h [] []
/src/brpc/src/butil/endpoint.h ['fuzz_sofa', 'fuzz_hulu'] []
/src/brpc/src/butil/file_util.cc [] []
/src/brpc/src/butil/containers/flat_map_inl.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/periodic_task.h [] []
/src/brpc/src/brpc/policy/auto_concurrency_limiter.h [] []
/src/brpc/src/brpc/rpc_dump.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/hashtable.h ['fuzz_uri', 'fuzz_sofa', 'fuzz_hulu'] []
/src/brpc/src/butil/atomicops.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/butil/iobuf_inl.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/parallel_channel.h [] []
/src/brpc/src/brpc/builtin/pprof_service.h [] []
/src/brpc/src/brpc/builtin/vlog_service.h [] []
/src/brpc/src/brpc/details/method_status.cpp [] []
/src/brpc/src/butil/resource_pool_inl.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/test/fuzzing/fuzz_redis.cpp ['fuzz_redis'] []
/usr/include/stdlib.h [] []
/usr/include/google/protobuf/map_type_handler.h [] []
/src/brpc/src/brpc/http2.cpp [] []
/src/brpc/src/brpc/builtin/index_service.h [] []
/src/brpc/src/brpc/cluster_recover_policy.h [] []
/src/brpc/src/bvar/detail/sampler.cpp ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/uri.cpp ['fuzz_uri', 'fuzz_http'] ['fuzz_uri', 'fuzz_http']
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/new_allocator.h ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/bvar/passive_status.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/policy/randomized_load_balancer.cpp [] []
/src/brpc/src/brpc/nonreflectable_message.h [] []
/src/brpc/src/butil/strings/stringprintf.cc [] []
/src/brpc/src/brpc/policy/redis_protocol.cpp [] []
/src/brpc/build/test/echo.pb.cc [] []
/src/brpc/src/mcpack2pb/parser.cpp [] []
/src/brpc/src/butil/third_party/snappy/snappy-stubs-internal.h [] []
/src/brpc/src/butil/fd_utility.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/bvar/detail/percentile.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/build/brpc/grpc_health_check.pb.h [] []
/src/brpc/src/brpc/server_id.cpp [] []
/src/brpc/src/bthread/types.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/describable.h ['fuzz_hpack'] ['fuzz_hpack']
/src/brpc/src/butil/third_party/snappy/snappy-internal.h [] []
/src/brpc/src/brpc/policy/streaming_rpc_protocol.cpp [] []
/src/brpc/src/brpc/details/usercode_backup_pool.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/allocated_ptr.h [] []
/src/brpc/src/brpc/ssl_options.cpp [] []
/src/brpc/src/json2pb/pb_to_json.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/policy/http_rpc_protocol.cpp [] []
/src/brpc/src/brpc/policy/ubrpc2pb_protocol.cpp [] []
/src/brpc/src/bvar/detail/call_op_returning_void.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/butil/third_party/icu/icu_utf.cc [] []
/src/brpc/src/butil/synchronization/condition_variable_posix.cc [] []
/src/brpc/src/butil/logging.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack', 'fuzz_http', 'fuzz_shead']
/src/brpc/src/brpc/reloadable_flags.cpp [] []
/src/brpc/src/brpc/builtin/connections_service.h [] []
/src/brpc/build/test/addressbook_encode_decode.pb.cc [] []
/src/brpc/src/brpc/authenticator.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.tcc ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/bthread/task_control.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/usr/include/google/protobuf/service.h [] []
/src/brpc/src/bvar/collector.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/sys_byteorder.h [] []
/src/brpc/src/bthread/remote_task_queue.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/rpc_pb_message_factory.cpp [] []
/src/brpc/src/butil/debug/alias.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/bvar/variable.cpp ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/test/fuzzing/fuzz_json.cpp ['fuzz_json'] []
/src/brpc/src/bthread/fd.cpp [] []
/src/brpc/src/brpc/policy/redis_authenticator.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_stack.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/third_party/rapidjson/internal/dtoa.h [] []
/src/brpc/src/brpc/builtin/hotspots_service.h [] []
/usr/include/google/protobuf/metadata_lite.h ['fuzz_json'] []
/src/brpc/src/butil/files/scoped_file.cc [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unordered_map.h [] []
/src/brpc/src/brpc/channel.h [] []
/src/brpc/src/butil/files/file_path.h [] []
/src/brpc/src/butil/fast_rand.cpp ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_tempbuf.h [] []
/src/brpc/src/butil/object_pool_inl.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/builtin/rpcz_service.h [] []
/src/brpc/src/bvar/detail/series.h [] []
/src/brpc/src/butil/resource_pool.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/policy/constant_concurrency_limiter.cpp [] []
/src/brpc/build/test/addressbook_map.pb.cc [] []
/src/brpc/src/brpc/channel_base.h [] []
/src/brpc/test/fuzzing/fuzz_hulu.cpp ['fuzz_hulu'] []
/src/brpc/src/butil/macros.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/bthread/execution_queue_inl.h [] []
/src/brpc/src/butil/debug/stack_trace_posix.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/builtin/health_service.cpp [] []
/src/brpc/src/butil/ptr_container.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/ptr_traits.h ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/at_exit.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/build/brpc/proto_base.pb.cc [] []
/src/brpc/src/brpc/builtin/threads_service.cpp [] []
/usr/include/google/protobuf/metadata.h ['fuzz_json'] []
/src/brpc/src/butil/containers/doubly_buffered_data.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack', 'fuzz_http']
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/streambuf ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/global.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/socket_message.h [] []
/src/brpc/src/bvar/mvariable.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/prettywriter.h [] []
/src/brpc/src/bthread/task_group_inl.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/protocol.h [] []
/src/brpc/src/butil/strings/string_split.cc [] []
/usr/include/google/protobuf/io/gzip_stream.h [] []
/src/brpc/src/butil/arena.h ['fuzz_redis'] []
/src/brpc/src/brpc/restful.h [] []
/src/brpc/src/brpc/amf.h [] []
/src/brpc/src/butil/third_party/rapidjson/error/../rapidjson.h ['fuzz_json'] []
/src/brpc/build/test/addressbook1.pb.cc ['fuzz_json'] ['fuzz_json']
/src/brpc/src/brpc/policy/domain_naming_service.cpp [] []
/src/brpc/src/brpc/builtin/vars_service.cpp [] []
/src/brpc/src/brpc/policy/nshead_mcpack_protocol.h [] []
/src/brpc/src/bthread/execution_queue.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/exception.h [] []
/src/brpc/src/brpc/policy/locality_aware_load_balancer.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/details/jemalloc_profiler.cpp [] []
/src/brpc/src/butil/debug/debugger_posix.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/build/brpc/policy/hulu_pbrpc_meta.pb.h [] []
/usr/include/x86_64-linux-gnu/bits/byteswap.h ['fuzz_sofa', 'fuzz_hulu'] []
/src/brpc/build/brpc/get_js.pb.h [] []
/src/brpc/src/brpc/serialized_request.cpp [] []
/src/brpc/src/brpc/load_balancer.h [] []
/src/brpc/src/bthread/task_control.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/build/test/v2.pb.cc [] []
/src/brpc/src/brpc/policy/timeout_concurrency_limiter.h [] []
/src/brpc/src/brpc/builtin/common.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/aligned_buffer.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/memory/ref_counted.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/policy/weighted_round_robin_load_balancer.cpp [] []
/src/brpc/src/butil/process_util.cc [] []
/src/brpc/src/butil/containers/linked_list.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/bthread/bthread.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/adaptive_protocol_type.h [] []
/src/brpc/src/brpc/details/http_parser.cpp ['fuzz_http'] ['fuzz_http']
/src/brpc/src/butil/intrusive_ptr.hpp [] []
/src/brpc/src/brpc/builtin/flags_service.cpp [] []
/src/brpc/src/butil/lazy_instance.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/builtin/bthreads_service.h [] []
/src/brpc/src/brpc/progressive_reader.h [] []
/src/brpc/src/brpc/input_messenger.h [] []
/src/brpc/src/butil/third_party/dmg_fp/g_fmt.cc [] []
/src/brpc/src/brpc/builtin/health_service.h [] []
/src/brpc/src/butil/numerics/safe_conversions.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/server_node.h [] []
/src/brpc/src/butil/debug/proc_maps_linux.h [] []
/src/brpc/src/brpc/stream_impl.h [] []
/src/brpc/src/brpc/redis_command.cpp ['fuzz_redis'] []
/src/brpc/src/butil/hash.cc ['fuzz_butil'] ['fuzz_butil']
/src/brpc/src/brpc/policy/esp_authenticator.cpp [] []
/src/brpc/src/mcpack2pb/mcpack2pb.h [] []
/src/brpc/src/brpc/policy/discovery_naming_service.h [] []
/src/brpc/src/bthread/interrupt_pthread.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/document.h ['fuzz_json'] []
/src/brpc/src/butil/third_party/dmg_fp/dtoa_wrapper.cc [] []
/src/brpc/src/brpc/policy/weighted_round_robin_load_balancer.h [] []
/src/brpc/src/brpc/ssl_options.h [] []
/src/brpc/src/butil/memory/singleton_on_pthread_once.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/butil/logging.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/butil/strings/string_piece.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack', 'fuzz_uri', 'fuzz_http', 'fuzz_shead']
/src/brpc/src/brpc/policy/nova_pbrpc_protocol.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/tuple ['fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/third_party/rapidjson/error/../encodings.h ['fuzz_json'] []
/usr/include/leveldb/status.h [] []
/src/brpc/src/bthread/parking_lot.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/float_util.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/char_traits.h ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/time/time_posix.cc [] []
/src/brpc/build/brpc/options.pb.h [] []
/src/brpc/src/brpc/event_dispatcher.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/time/time.cc [] []
/src/brpc/src/brpc/builtin/sorttable_js.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/acceptor.cpp [] []
/src/brpc/src/brpc/channel.cpp [] []
/src/brpc/src/brpc/builtin/ids_service.cpp [] []
/src/brpc/src/brpc/details/naming_service_thread.h [] []
/src/brpc/src/butil/class_name.h [] []
/src/brpc/src/butil/third_party/snappy/snappy.cc [] []
/src/brpc/src/brpc/policy/http2_rpc_protocol.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/type_traits.h ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/files/file.h [] []
/src/brpc/src/brpc/nshead_message.h [] []
/src/brpc/build/brpc/span.pb.h [] []
/src/brpc/src/bthread/mutex.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/policy/rtmp_protocol.h [] []
/usr/include/google/protobuf/stubs/once.h ['fuzz_json'] []
/src/brpc/src/butil/iobuf.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/usr/include/google/protobuf/repeated_field.h ['fuzz_json'] []
/src/brpc/src/brpc/builtin/status_service.h [] []
/src/brpc/src/brpc/socket_map.cpp [] []
/src/brpc/src/butil/zero_copy_stream_as_streambuf.cpp [] []
/src/brpc/src/brpc/load_balancer.cpp [] []
/src/brpc/src/brpc/callback.h [] []
/src/brpc/build/brpc/grpc_health_check.pb.cc [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/builtin/version_service.h [] []
/usr/include/google/protobuf/descriptor.h ['fuzz_json'] []
/src/brpc/src/bthread/errno.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/third_party/rapidjson/error/error.h ['fuzz_json'] []
/src/brpc/src/brpc/policy/weighted_randomized_load_balancer.h [] []
/src/brpc/src/butil/containers/hash_tables.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/list.tcc ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/thread_key.cpp ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/third_party/rapidjson/encodings.h [] []
/src/brpc/src/butil/synchronization/lock.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/restful.cpp [] []
/src/brpc/src/brpc/builtin/ids_service.h [] []
/usr/include/google/protobuf/stubs/hash.h [] []
/usr/include/google/protobuf/wire_format.h [] []
/src/brpc/build/brpc/nshead_meta.pb.h [] []
/src/brpc/src/butil/debug/stack_trace.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/periodic_naming_service.cpp [] []
/src/brpc/src/butil/strings/string_util_posix.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/utility [] []
/src/brpc/src/bthread/id.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/build/test/echo.pb.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/atomic ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/threading/thread_local.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/strings/string16.cc [] []
/src/brpc/build/test/addressbook_map.pb.h [] []
/src/brpc/src/butil/stl_util.h [] []
/src/brpc/src/brpc/periodic_task.cpp [] []
/src/brpc/src/brpc/policy/timeout_concurrency_limiter.cpp [] []
/src/brpc/src/bthread/mutex.cpp ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/postypes.h [] []
/src/brpc/src/brpc/rtmp.cpp ['fuzz_uri'] ['fuzz_uri']
/src/brpc/src/brpc/details/hpack.cpp ['fuzz_hpack'] ['fuzz_hpack']
/src/brpc/src/butil/memory/scope_guard.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/policy/hulu_pbrpc_protocol.cpp ['fuzz_hulu'] []
/src/brpc/src/butil/compat.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/adaptive_max_concurrency.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/istream [] []
/src/brpc/src/brpc/builtin/vlog_service.cpp [] []
/src/brpc/src/butil/third_party/symbolize/demangle.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack']
/src/brpc/src/brpc/redis_command.h ['fuzz_redis'] []
/src/brpc/build/test/message.pb.cc [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_mutex.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/build/brpc/policy/hulu_pbrpc_meta.pb.cc [] []
/src/brpc/src/bthread/task_meta.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/event_dispatcher_epoll.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/bthread/execution_queue.h [] []
/src/brpc/src/butil/synchronization/waitable_event.h [] []
/src/brpc/src/butil/third_party/rapidjson/internal/stack.h ['fuzz_json'] []
/src/brpc/src/brpc/socket_inl.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/build/test/health_check.pb.cc [] []
/src/brpc/src/butil/hash.h ['fuzz_butil'] ['fuzz_butil']
/src/brpc/src/butil/atomic_ref_count.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/build/test/addressbook1.pb.h [] []
/src/brpc/src/bvar/collector.cpp ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/uri.h ['fuzz_uri'] ['fuzz_uri']
/src/brpc/src/butil/bit_array.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack', 'fuzz_uri', 'fuzz_http']
/src/brpc/src/brpc/builtin/threads_service.h [] []
/src/brpc/src/brpc/controller.h [] []
/src/brpc/test/fuzzing/fuzz_http.cpp ['fuzz_http'] ['fuzz_http']
/usr/include/google/protobuf/descriptor.pb.h [] []
/src/brpc/src/butil/numerics/safe_conversions_impl.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/concurrency_limiter.h [] []
/src/brpc/src/brpc/http_header.cpp ['fuzz_http'] ['fuzz_http']
/src/brpc/src/brpc/details/server_private_accessor.h [] []
/src/brpc/src/butil/iobuf_profiler.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/test/fuzzing/fuzz_shead.cpp ['fuzz_shead'] ['fuzz_shead']
/src/brpc/src/butil/files/file_enumerator_posix.cc [] []
/src/brpc/src/brpc/nshead_pb_service_adaptor.h [] []
/src/brpc/src/butil/threading/thread_local_posix.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/build/test/v3.pb.cc [] []
/src/brpc/src/brpc/redis.cpp [] []
/usr/include/gflags/gflags.h [] []
/src/brpc/src/bvar/window.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/crc32c.cc ['fuzz_butil'] ['fuzz_butil']
/src/brpc/src/butil/containers/flat_map.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/butil/errno.cpp ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/bthread/timer_thread.h [] []
/src/brpc/src/brpc/stream.cpp [] []
/src/brpc/src/brpc/policy/hasher.cpp [] []
/src/brpc/src/brpc/server_id.h [] []
/src/brpc/src/brpc/policy/public_pbrpc_protocol.h [] []
/src/brpc/src/brpc/policy/ubrpc2pb_protocol.h [] []
/src/brpc/src/brpc/retry_policy.cpp [] []
/src/brpc/src/mcpack2pb/serializer.cpp [] []
/src/brpc/src/butil/popen.cpp [] []
/src/brpc/src/brpc/builtin/get_favicon_service.h [] []
/src/brpc/src/bvar/reducer.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/usr/include/google/protobuf/stubs/mutex.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/functional_hash.h [] []
/usr/include/google/protobuf/map.h [] []
/src/brpc/src/brpc/details/http_message.cpp ['fuzz_http'] ['fuzz_http']
/src/brpc/src/brpc/builtin/memory_service.h [] []
/src/brpc/src/brpc/span.cpp [] []
/src/brpc/src/brpc/adaptive_max_concurrency.h [] []
/src/brpc/src/brpc/policy/locality_aware_load_balancer.h [] []
/src/brpc/build/test/grpc.pb.h [] []
/src/brpc/src/bvar/detail/percentile.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/amf_inl.h [] []
/src/brpc/src/brpc/socket_map.h [] []
/src/brpc/test/fuzzing/fuzz_esp.cpp ['fuzz_esp'] ['fuzz_esp']
/src/brpc/src/butil/third_party/rapidjson/stringbuffer.h [] []
/src/brpc/src/brpc/policy/gzip_compress.cpp [] []
/src/brpc/src/brpc/nshead_message.cpp [] []
/src/brpc/build/brpc/span.pb.cc [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_construct.h [] []
/src/brpc/src/butil/strings/string_util.h [] []
/src/brpc/src/brpc/builtin/list_service.h [] []
/src/brpc/src/butil/time.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack', 'fuzz_butil', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/stream_creator.h [] []
/src/brpc/src/butil/third_party/rapidjson/optimized_writer.h [] []
/src/brpc/src/butil/strings/string16.h [] []
/src/brpc/build/brpc/policy/baidu_rpc_meta.pb.cc [] []
/src/brpc/src/brpc/baidu_master_service.h [] []
/src/brpc/src/butil/memory/manual_constructor.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/butil/threading/simple_thread.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/bthread/stack.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hulu', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/butil/strings/string_util.cc [] []
/src/brpc/src/butil/synchronization/waitable_event_posix.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/destroyable.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/build/brpc/rpc_dump.pb.h [] []
/src/brpc/src/bthread/work_stealing_queue.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/ios_base.h [] []
/src/brpc/src/brpc/span.h [] []
/src/brpc/build/brpc/policy/mongo.pb.cc [] []
/src/brpc/src/brpc/redis_reply.cpp ['fuzz_redis'] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_ptr.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/policy/randomized_load_balancer.h [] []
/src/brpc/src/brpc/trackme.cpp [] []
/src/brpc/src/butil/scoped_generic.h [] []
/src/brpc/src/brpc/server.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unordered_set.h ['fuzz_uri', 'fuzz_sofa', 'fuzz_hulu'] []
/src/brpc/src/butil/strings/utf_string_conversions.cc [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_ios.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/builtin/bad_method_service.h [] []
/src/brpc/src/butil/third_party/superfasthash/superfasthash.c ['fuzz_butil'] ['fuzz_butil']
/usr/include/google/protobuf/extension_set.h [] []
/src/brpc/src/brpc/details/profiler_linker.h [] []
/src/brpc/build/brpc/policy/sofa_pbrpc_meta.pb.h [] []
/src/brpc/src/brpc/cluster_recover_policy.cpp [] []
/src/brpc/build/test/addressbook.pb.h [] []
/src/brpc/src/butil/memory/scoped_ptr.h [] []
/src/brpc/build/test/iobuf.pb.cc [] []
/src/brpc/src/butil/fast_rand.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/allocator.h ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/atomicops_internals_x86_gcc.cc [] []
/usr/include/google/protobuf/generated_message_reflection.h [] []
/src/brpc/src/butil/strings/utf_string_conversion_utils.h [] []
/src/brpc/src/butil/third_party/rapidjson/internal/strfunc.h ['fuzz_json'] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_algobase.h [] []
/src/brpc/src/butil/strings/utf_string_conversion_utils.cc [] []
/src/brpc/src/brpc/shared_object.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/usr/include/x86_64-linux-gnu/bits/stdio.h [] []
/src/brpc/src/butil/threading/platform_thread.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/usr/include/google/protobuf/stubs/port.h [] []
/src/brpc/src/brpc/mongo_head.h [] []
/src/brpc/src/brpc/policy/dh.cpp [] []
/src/brpc/src/butil/single_threaded_pool.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/builtin/grpc_health_check_service.h [] []
/src/brpc/src/brpc/nshead_service.cpp [] []
/src/brpc/src/brpc/policy/round_robin_load_balancer.h [] []
/src/brpc/src/butil/third_party/rapidjson/memorybuffer.h [] []
/src/brpc/src/butil/files/file.cc [] []
/src/brpc/src/brpc/policy/rtmp_protocol.cpp [] []
/src/brpc/build/brpc/policy/public_pbrpc_meta.pb.h [] []
/src/brpc/src/butil/atomicops_internals_x86_gcc.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/build/brpc/streaming_rpc_meta.pb.h [] []
/src/brpc/src/brpc/controller.cpp [] []
/src/brpc/src/butil/thread_local.cpp ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/esp_message.cpp [] []
/src/brpc/src/mcpack2pb/parser-inl.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/hashtable_policy.h ['fuzz_uri', 'fuzz_sofa', 'fuzz_hulu'] []
/src/brpc/src/brpc/policy/list_naming_service.h [] []
/src/brpc/src/brpc/parallel_channel.cpp [] []
/usr/include/x86_64-linux-gnu/sys/stat.h [] []
/src/brpc/src/butil/strings/string_number_conversions.cc ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/crc32c.h ['fuzz_butil'] ['fuzz_butil']
/src/brpc/src/brpc/policy/dh.h [] []
/src/brpc/src/butil/thread_key.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/usr/include/leveldb/options.h [] []
/src/brpc/src/brpc/builtin/index_service.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/sstream.tcc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/status.h ['fuzz_uri', 'fuzz_http'] ['fuzz_uri', 'fuzz_http']
/usr/include/google/protobuf/stubs/callback.h [] []
/usr/include/google/protobuf/message.h ['fuzz_json'] []
/usr/include/google/protobuf/map_entry_lite.h [] []
/src/brpc/build/brpc/builtin_service.pb.cc [] []
/src/brpc/src/brpc/periodic_naming_service.h [] []
/src/brpc/src/bvar/variable.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/builtin/rpcz_service.cpp [] []
/src/brpc/src/brpc/policy/file_naming_service.cpp [] []
/src/brpc/src/brpc/builtin/tabbed.h [] []
/src/brpc/src/mcpack2pb/field_type.cpp [] []
/src/brpc/build/brpc/streaming_rpc_meta.pb.cc [] []
/src/brpc/src/brpc/builtin/get_favicon_service.cpp [] []
/src/brpc/src/brpc/mongo_service_adaptor.h [] []
/src/brpc/build/test/health_check.pb.h [] []
/src/brpc/src/bvar/vector.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/bthread/task_group.cpp ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack', 'fuzz_http']
/src/brpc/build/test/snappy_message.pb.h [] []
/src/brpc/src/butil/third_party/rapidjson/rapidjson.h [] []
/src/brpc/src/brpc/memcache.cpp [] []
/src/brpc/src/butil/memory/singleton.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/acceptor.h [] []
/src/brpc/src/butil/endpoint.cpp ['fuzz_sofa', 'fuzz_hulu'] ['fuzz_sofa', 'fuzz_hulu']
/usr/include/google/protobuf/arena_impl.h [] []
/src/brpc/src/butil/third_party/murmurhash3/murmurhash3.cpp [] []
/src/brpc/src/brpc/policy/nacos_naming_service.cpp [] []
/src/brpc/src/brpc/builtin/get_js_service.h [] []
/src/brpc/src/bthread/task_group.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/policy/nshead_mcpack_protocol.cpp [] []
/src/brpc/src/butil/string_printf.cpp ['fuzz_json', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/details/hpack.h ['fuzz_hpack'] ['fuzz_hpack']
/src/brpc/src/butil/debug/stack_trace.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack']
/src/brpc/src/brpc/builtin/flot_min_js.cpp [] []
/src/brpc/src/butil/scoped_clear_errno.h [] []
/src/brpc/src/butil/threading/thread_restrictions.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/usr/include/google/protobuf/arena.h [] []
/src/brpc/src/butil/strings/string_piece.h ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/test/fuzzing/fuzz_sofa.cpp ['fuzz_sofa'] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_tree.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/third_party/rapidjson/error/../allocators.h ['fuzz_json'] []
/src/brpc/src/butil/raw_pack.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/array ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/file_util_posix.cc [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/mutex [] []
/src/brpc/src/brpc/details/method_status.h [] []
/src/brpc/src/bvar/latency_recorder.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/builtin/list_service.cpp [] []
/src/brpc/src/brpc/builtin/protobufs_service.h [] []
/src/brpc/src/brpc/kvmap.h [] []
/src/brpc/build/test/repeated.pb.h [] []
/src/brpc/src/butil/object_pool.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/policy/dynpart_load_balancer.h [] []
/src/brpc/src/brpc/policy/file_naming_service.h [] []
/src/brpc/build/brpc/policy/baidu_rpc_meta.pb.h [] []
/src/brpc/src/brpc/amf.cpp [] []
/src/brpc/src/mcpack2pb/mcpack2pb.cpp [] []
/src/brpc/src/brpc/baidu_master_service.cpp [] []
/usr/include/google/protobuf/generated_message_util.h ['fuzz_json'] []
/usr/include/google/protobuf/wire_format_lite_inl.h [] []
/src/brpc/src/json2pb/zero_copy_stream_writer.h [] []
/src/brpc/src/brpc/policy/nova_pbrpc_protocol.cpp [] []
/src/brpc/src/butil/containers/case_ignored_flat_map.h ['fuzz_hpack', 'fuzz_http'] ['fuzz_hpack', 'fuzz_http']
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/usr/include/google/protobuf/wire_format_lite.h [] []
/src/brpc/src/brpc/adaptive_connection_type.h [] []
/src/brpc/src/brpc/builtin/prometheus_metrics_service.h [] []
/src/brpc/src/brpc/nshead_service.h [] []
/src/brpc/src/json2pb/json_to_pb.cpp ['fuzz_json'] []
/src/brpc/src/brpc/policy/most_common_message.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] ['fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/policy/dynpart_load_balancer.cpp [] []
/src/brpc/src/bthread/key.cpp ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack', 'fuzz_butil', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/build/brpc/rtmp.pb.h [] []
/src/brpc/src/brpc/builtin/grpc_health_check_service.cpp [] []
/src/brpc/src/brpc/builtin/viz_min_js.cpp [] []
/src/brpc/src/brpc/builtin/memory_service.cpp [] []
/src/brpc/src/brpc/server.h [] []
/src/brpc/src/brpc/serialized_response.cpp [] []
/src/brpc/src/bthread/list_of_abafree_id.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/build/brpc/rpc_dump.pb.cc [] []
/src/brpc/src/brpc/policy/discovery_naming_service.cpp [] []
/src/brpc/build/test/message.pb.h [] []
/src/brpc/src/butil/containers/mpsc_queue.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/bthread/stack.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/redis.h [] []
/usr/include/google/protobuf/io/coded_stream.h [] []
/src/brpc/src/brpc/builtin/protobufs_service.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/error/en.h ['fuzz_json'] []
/src/brpc/src/brpc/policy/remote_file_naming_service.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_list.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/predefined_ops.h [] []
/src/brpc/src/butil/scoped_lock.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/policy/list_naming_service.cpp [] []
/src/brpc/src/brpc/naming_service.h [] []
/src/brpc/build/test/snappy_message.pb.cc [] []
/src/brpc/src/brpc/event_dispatcher.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/details/ssl_helper.cpp [] []
/src/brpc/src/brpc/parse_result.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] ['fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/extension_inl.h [] []
/src/brpc/build/brpc/trackme.pb.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/usr/include/google/protobuf/map_entry.h [] []
/src/brpc/src/butil/fd_guard.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/unique_lock.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/json2pb/zero_copy_stream_reader.h [] []
/src/brpc/src/butil/iobuf_profiler.cpp ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/policy/baidu_rpc_protocol.cpp [] []
/src/brpc/src/butil/threading/platform_thread_posix.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/builtin/vars_service.h [] []
/src/brpc/src/brpc/policy/mongo_protocol.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_queue.h [] []
/src/brpc/src/butil/base64.cc ['fuzz_json', 'fuzz_butil'] ['fuzz_butil']
/src/brpc/src/brpc/builtin/hotspots_service.cpp [] []
/src/brpc/src/brpc/compress.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/writer.h [] []
/src/brpc/src/brpc/adaptive_connection_type.cpp [] []
/usr/include/google/protobuf/io/zero_copy_stream.h [] []
/src/brpc/src/butil/time/time.h [] []
/src/brpc/src/mcpack2pb/field_type.h [] []
/usr/include/google/protobuf/arenastring.h [] []
/src/brpc/build/brpc/policy/mongo.pb.h [] []
/usr/include/google/protobuf/unknown_field_set.h ['fuzz_json'] []
/src/brpc/src/brpc/closure_guard.h [] []
/src/brpc/src/brpc/policy/weighted_randomized_load_balancer.cpp [] []
/src/brpc/src/brpc/builtin/sockets_service.h [] []
/src/brpc/src/brpc/http_status_code.cpp [] []
/src/brpc/src/butil/class_name.cpp [] []
/src/brpc/src/butil/status.cpp ['fuzz_uri', 'fuzz_http'] ['fuzz_uri']
/src/brpc/src/brpc/policy/consistent_hashing_load_balancer.cpp [] []
/src/brpc/src/brpc/policy/sofa_pbrpc_protocol.cpp ['fuzz_sofa'] []
/src/brpc/src/json2pb/protobuf_map.cpp ['fuzz_json'] []
/src/brpc/src/brpc/policy/esp_protocol.cpp ['fuzz_esp'] ['fuzz_esp']
/src/brpc/build/test/grpc.pb.cc [] []
/src/brpc/src/brpc/policy/public_pbrpc_protocol.cpp [] []
/src/brpc/src/brpc/details/naming_service_thread.cpp [] []
/src/brpc/build/brpc/policy/public_pbrpc_meta.pb.cc [] []
/src/brpc/src/bvar/detail/agent_group.h ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/src/brpc/src/brpc/policy/snappy_compress.cpp [] []
/src/brpc/src/butil/zero_copy_stream_as_streambuf.h [] []
/src/brpc/src/butil/files/file_path.cc [] []
/src/brpc/src/butil/files/file_enumerator.h [] []
/src/brpc/build/test/iobuf.pb.h [] []
/src/brpc/test/fuzzing/fuzz_uri.cpp ['fuzz_uri'] ['fuzz_uri']
/src/brpc/src/brpc/policy/constant_concurrency_limiter.h [] []
/src/brpc/build/test/v1.pb.h [] []
/src/brpc/src/butil/third_party/rapidjson/internal/ieee754.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/atomic_base.h ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/threading/simple_thread.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/third_party/symbolize/symbolize.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_hpack']
/src/brpc/src/brpc/policy/esp_authenticator.h [] []
/src/brpc/src/brpc/policy/remote_file_naming_service.cpp [] []
/usr/include/openssl/x509v3.h [] []
/src/brpc/src/brpc/builtin/bthreads_service.cpp [] []
/src/brpc/build/brpc/rtmp.pb.cc [] []
/src/brpc/src/brpc/policy/http_rpc_protocol.h [] []
/src/brpc/src/butil/third_party/rapidjson/internal/strtod.h ['fuzz_json'] []
/src/brpc/src/butil/lazy_instance.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/details/controller_private_accessor.h [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_uri', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/butil/files/file_posix.cc [] []
/src/brpc/src/brpc/grpc.cpp [] []
/src/brpc/src/bthread/timer_thread.cpp ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/nshead_pb_service_adaptor.cpp [] []
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/string_conversions.h [] []
/src/brpc/src/brpc/redis_reply.h ['fuzz_redis'] ['fuzz_redis']
/src/brpc/src/brpc/policy/memcache_binary_protocol.cpp [] []
/src/brpc/src/brpc/builtin/jquery_min_js.cpp [] []
/src/brpc/build/brpc/get_favicon.pb.cc [] []
/src/brpc/src/bthread/stack_inl.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/details/sparse_minute_counter.h [] []
/src/brpc/src/bvar/recorder.h ['fuzz_sofa', 'fuzz_hulu', 'fuzz_shead', 'fuzz_esp'] []
/src/brpc/src/brpc/builtin/connections_service.cpp [] []
/src/brpc/src/brpc/details/health_check.cpp [] []
/src/brpc/src/butil/binary_printer.cpp ['fuzz_http'] []
/src/brpc/src/butil/details/extended_endpoint.hpp ['fuzz_sofa', 'fuzz_hulu'] []
/src/brpc/src/brpc/retry_policy.h [] []
/src/brpc/src/brpc/policy/consul_naming_service.h [] []
/src/brpc/src/brpc/esp_message.h [] []
/src/brpc/src/brpc/rpc_dump.h [] []
/src/brpc/src/brpc/policy/auto_concurrency_limiter.cpp [] []
/src/brpc/src/brpc/builtin/sockets_service.cpp [] []
/src/brpc/src/mcpack2pb/serializer.h [] []
/src/brpc/src/butil/third_party/rapidjson/internal/pow10.h ['fuzz_json'] []
/src/brpc/src/brpc/selective_channel.cpp [] []
/src/brpc/src/brpc/details/load_balancer_with_naming.cpp [] []
/usr/include/leveldb/slice.h [] []
/src/brpc/src/brpc/builtin/status_service.cpp [] []
/src/brpc/src/butil/threading/thread_id_name_manager.cc ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] ['fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp']
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_vector.h ['fuzz_json', 'fuzz_redis', 'fuzz_hpack', 'fuzz_butil', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_http', 'fuzz_shead', 'fuzz_esp'] []

Directories in report

Directory
/usr/include/x86_64-linux-gnu/bits/
/usr/include/leveldb/
/src/brpc/src/butil/files/
/src/brpc/src/butil/synchronization/
/usr/include/google/protobuf/io/
/src/brpc/src/bvar/
/src/brpc/src/butil/memory/
/src/brpc/build/
/src/brpc/src/butil/third_party/dmg_fp/
/usr/include/google/protobuf/
/src/brpc/src/butil/threading/
/src/brpc/src/brpc/builtin/
/src/brpc/src/butil/containers/
/src/brpc/src/butil/
/src/brpc/src/butil/third_party/rapidjson/internal/
/usr/include/
/src/brpc/src/butil/third_party/rapidjson/error/
/usr/include/google/protobuf/stubs/
/src/brpc/src/brpc/policy/
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/
/src/brpc/src/butil/third_party/snappy/
/src/brpc/src/mcpack2pb/
/src/brpc/src/butil/third_party/rapidjson/
/src/brpc/src/brpc/
/src/brpc/src/json2pb/
/src/brpc/src/bvar/detail/
/usr/include/openssl/
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/
/src/brpc/src/butil/third_party/superfasthash/
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward/
/src/brpc/src/butil/numerics/
/src/brpc/src/butil/third_party/modp_b64/
/src/brpc/src/butil/details/
/src/brpc/src/butil/third_party/icu/
/src/brpc/build/test/
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/
/src/brpc/src/brpc/details/
/src/brpc/src/butil/strings/
/usr/include/gflags/
/src/brpc/src/butil/time/
/src/brpc/src/butil/third_party/symbolize/
/src/brpc/build/brpc/
/src/brpc/src/butil/third_party/murmurhash3/
/src/brpc/src/butil/third_party/dynamic_annotations/
/usr/include/x86_64-linux-gnu/sys/
/src/brpc/src/butil/third_party/rapidjson/error/../
/src/brpc/build/brpc/policy/
/src/brpc/src/butil/debug/
/src/brpc/test/fuzzing/
/src/brpc/src/bthread/