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

Project overview: brpc

High level conclusions

Reachability and coverage overview

Functions statically reachable by fuzzers
8.0%
2474 / 32593
Cyclomatic complexity statically reachable by fuzzers
7.00%
9753 / 146259
Runtime code coverage of functions
25.0%
8275 / 32593

Warning: The number of runtime covered functions are larger than the number of reachable functions. This means that Fuzz Introspector found there are more functions covered at runtime than what is considered reachable based on the static analysis. This is a limitation in the analysis as anything covered at runtime is by definition reachable by the fuzzers.
This is likely due to a limitation in the static analysis. In this case, the count of functions covered at runtime is the true value, which means this is what should be considered "achieved" by the fuzzer.

Use the project functions table below to query all functions that were not covered at runtime.

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

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 1796 85.8%
gold [1:9] 155 7.40%
yellow [10:29] 10 0.47%
greenyellow [30:49] 1 0.04%
lawngreen 50+ 130 6.21%
All colors 2092 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
396 129 butil::internal::GetRangeConstraint(int) call site: 00129 pthread_mutex_init
229 1718 std::vector >::end() call site: 01718 pthread_mutex_lock
122 1266 std::vector >::end() call site: 01266 bthread_setspecific
118 1948 std::vector ::Wrapper>, std::allocator ::Wrapper> > >::end() call site: 01948 pthread_mutex_lock
76 1189 std::vector >::end() call site: 01189 _ZN9__gnu_cxx17__normal_iteratorIPKN5butil13ThreadKeyInfoESt6vectorIS2_SaIS2_EEEC2IPS2_EERKNS0_IT_NS_11__enable_ifIXsr3std10__are_sameISB_SA_EE7__valueES7_E6__typeEEE
57 1131 bvar::detail::AgentCombiner ::get_or_create_tls_agent() call site: 01131 bthread_key_create2
55 1625 bvar::Variable::expose(butil::BasicStringPiece , std::allocator > > const&, bvar::DisplayFilter) call site: 01625 __clang_call_terminate
53 727 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 call site: 00727 bthread_key_create
39 78 butil::Hash(char const*, unsigned long) call site: 00078 __errno_location
38 1414 butil::PlatformThread::SetNameSimple(char const*) call site: 01414 strlen
31 814 pthread_mutex_lock call site: 00814 pthread_mutex_unlock
30 1038 butil::Lock::Release() call site: 01038 pthread_mutex_unlock

Runtime coverage analysis

Covered functions
543
Functions that are reachable but not covered
1692
Reachable functions
2110
Percentage of reachable functions covered
19.81%
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 66
/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 33
/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 44
/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 16
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h 15
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 34
/src/brpc/src/butil/memory/singleton.h 4
/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 134
/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 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 6
/src/brpc/src/bvar/reducer.h 8
/src/brpc/src/bvar/variable.h 2
/src/brpc/src/bvar/variable.cpp 8
/src/brpc/src/butil/containers/flat_map_inl.h 19
/src/brpc/src/butil/containers/flat_map.h 23
/src/brpc/src/butil/single_threaded_pool.h 8
/src/brpc/src/butil/containers/optional.h 7
/src/brpc/src/butil/memory/scope_guard.h 8
/src/brpc/src/butil/memory/manual_constructor.h 7
/src/brpc/src/butil/memory/aligned_memory.h 5
/src/brpc/src/butil/bit_array.h 2
/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/ext/alloc_traits.h 1
/src/brpc/src/butil/errno.cpp 2
/src/brpc/src/bthread/key.cpp 21
/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 15
/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/containers/linked_list.h 27
/src/brpc/src/bvar/detail/combiner.h 26
/src/brpc/src/bvar/detail/agent_group.h 12
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 1
/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/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/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
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 19
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 1
/src/brpc/src/butil/memory/singleton.cc 1
/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_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 505 50.4%
gold [1:9] 7 0.69%
yellow [10:29] 12 1.19%
greenyellow [30:49] 23 2.29%
lawngreen 50+ 454 45.3%
All colors 1001 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
51 320 butil::rapidjson::GenericReader , butil::rapidjson::UTF8 , butil::rapidjson::CrtAllocator>::NumberStream >, false>::Tell() call site: 00320 __assert_fail
47 272 butil::rapidjson::GenericValue , butil::rapidjson::MemoryPoolAllocator >::SetObjectRaw(butil::rapidjson::GenericMember , butil::rapidjson::MemoryPoolAllocator >*, unsigned int, butil::rapidjson::MemoryPoolAllocator &) call site: 00272 __assert_fail
36 229 butil::rapidjson::GenericDocument , butil::rapidjson::MemoryPoolAllocator , butil::rapidjson::CrtAllocator>::Bool(bool) call site: 00229 __assert_fail
34 948 json2pb::JsonValueToProtoMessage(butil::rapidjson::GenericValue , butil::rapidjson::MemoryPoolAllocator > const&, google::protobuf::Message*, json2pb::Json2PbOptions const&, std::__cxx11::basic_string , std::allocator >*, int) call site: 00948 __assert_fail
32 406 butil::rapidjson::GenericValue , butil::rapidjson::MemoryPoolAllocator >::SetArrayRaw(butil::rapidjson::GenericValue , butil::rapidjson::MemoryPoolAllocator >*, unsigned int, butil::rapidjson::MemoryPoolAllocator &) call site: 00406 __assert_fail
18 732 json2pb::JsonValueToProtoField(butil::rapidjson::GenericValue , butil::rapidjson::MemoryPoolAllocator > const&, google::protobuf::FieldDescriptor const*, google::protobuf::Message*, json2pb::Json2PbOptions const&, std::__cxx11::basic_string , std::allocator >*, int) call site: 00732
17 68 LLVMFuzzerTestOneInput call site: 00068 __clang_call_terminate
15 212 butil::rapidjson::GenericDocument , butil::rapidjson::MemoryPoolAllocator , butil::rapidjson::CrtAllocator>::Null() call site: 00212 __assert_fail
14 31 JsonContextBody::JsonContextBody() call site: 00031 __cxa_call_unexpected
14 565 std::vector >::end() call site: 00565
13 1 LLVMFuzzerTestOneInput call site: 00001 __clang_call_terminate
13 582 json2pb::JsonValueToProtoMessage(butil::rapidjson::GenericValue , butil::rapidjson::MemoryPoolAllocator > const&, google::protobuf::Message*, json2pb::Json2PbOptions const&, std::__cxx11::basic_string , std::allocator >*, int) call site: 00582

Runtime coverage analysis

Covered functions
736
Functions that are reachable but not covered
341
Reachable functions
789
Percentage of reachable functions covered
56.78%
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 19
/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 4
/src/brpc/src/butil/third_party/rapidjson/reader.h 40
/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 2187 68.6%
gold [1:9] 217 6.80%
yellow [10:29] 59 1.85%
greenyellow [30:49] 4 0.12%
lawngreen 50+ 721 22.6%
All colors 3188 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
186 2591 butil::ManualConstructor ::get() call site: 02591 sched_yield
76 1164 std::vector >::end() call site: 01164 _ZN9__gnu_cxx17__normal_iteratorIPKN5butil13ThreadKeyInfoESt6vectorIS2_SaIS2_EEEC2IPS2_EERKNS0_IT_NS_11__enable_ifIXsr3std10__are_sameISB_SA_EE7__valueES7_E6__typeEEE
72 1693 std::vector >::end() call site: 01693 pthread_mutex_lock
57 2048 butil::InitGlobalIOBufProfilerInfo() call site: 02048 getenv
56 2167 DefaultSingletonTraits ::New() call site: 02167 __clang_call_terminate
55 1600 bvar::Variable::expose(butil::BasicStringPiece , std::allocator > > const&, bvar::DisplayFilter) call site: 01600 __clang_call_terminate
44 702 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 call site: 00702
38 42 logging::CreateLogStream(char const*, int, char const*, int) call site: 00042 __clang_call_terminate
38 1125 bthread_getspecific call site: 01125 pthread_rwlock_rdlock
38 1389 butil::PlatformThread::SetNameSimple(char const*) call site: 01389 strlen
38 1767 butil::DoublyBufferedData ::WrapperTLSGroup::_get_free_ids() call site: 01767 __cxa_begin_catch
36 2106 butil::static_atomic *>::load(std::memory_order) call site: 02106

Runtime coverage analysis

Covered functions
813
Functions that are reachable but not covered
2008
Reachable functions
3001
Percentage of reachable functions covered
33.09%
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 89
/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 27
/src/brpc/src/butil/iobuf.cpp 27
/src/brpc/src/butil/logging.cc 26
/src/brpc/src/butil/logging.h 68
/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 45
/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 16
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h 18
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 40
/src/brpc/src/butil/memory/singleton.h 6
/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 169
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 21
/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 6
/src/brpc/src/bvar/reducer.h 8
/src/brpc/src/bvar/variable.h 2
/src/brpc/src/bvar/variable.cpp 8
/src/brpc/src/butil/containers/flat_map_inl.h 69
/src/brpc/src/butil/containers/flat_map.h 86
/src/brpc/src/butil/single_threaded_pool.h 20
/src/brpc/src/butil/containers/optional.h 28
/src/brpc/src/butil/memory/scope_guard.h 20
/src/brpc/src/butil/memory/manual_constructor.h 33
/src/brpc/src/butil/memory/aligned_memory.h 17
/src/brpc/src/butil/bit_array.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 40
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h 2
/src/brpc/src/butil/errno.cpp 2
/src/brpc/src/bthread/key.cpp 21
/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 28
/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/containers/linked_list.h 27
/src/brpc/src/bvar/detail/combiner.h 26
/src/brpc/src/bvar/detail/agent_group.h 12
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 1
/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/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 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
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 26
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 4
/src/brpc/src/butil/memory/singleton.cc 1
/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 8
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 8
/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
/src/brpc/src/butil/hash.cc 1
/src/brpc/src/butil/third_party/superfasthash/superfasthash.c 1
/src/brpc/src/butil/containers/hash_tables.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 2366 66.2%
gold [1:9] 259 7.25%
yellow [10:29] 87 2.43%
greenyellow [30:49] 8 0.22%
lawngreen 50+ 852 23.8%
All colors 3572 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
186 3126 butil::ManualConstructor ::get() call site: 03126 sched_yield
76 1595 std::vector >::end() call site: 01595 _ZN9__gnu_cxx17__normal_iteratorIPKN5butil13ThreadKeyInfoESt6vectorIS2_SaIS2_EEEC2IPS2_EERKNS0_IT_NS_11__enable_ifIXsr3std10__are_sameISB_SA_EE7__valueES7_E6__typeEEE
72 1471 std::vector >::end() call site: 01471 pthread_mutex_lock
62 388 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 call site: 00388 __clang_call_terminate
56 832 google::ParseOperatorName(google::State*) call site: 00832
56 2703 DefaultSingletonTraits ::New() call site: 02703 __clang_call_terminate
47 2589 butil::InitGlobalIOBufProfilerInfo() call site: 02589 getenv
43 2421 unsigned long* butil::FlatMap , std::allocator >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::seek , std::allocator > >(std::__cxx11::basic_string , std::allocator > const&) const call site: 02421
41 2065 logging::LogStream::FlushWithoutReset() call site: 02065 open
39 1394 butil::BoundedQueue >::clear() call site: 01394 pthread_cond_wait
38 1160 butil::PlatformThread::SetNameSimple(char const*) call site: 01160 strlen
38 1556 bthread_getspecific call site: 01556 pthread_rwlock_rdlock

Runtime coverage analysis

Covered functions
882
Functions that are reachable but not covered
2078
Reachable functions
3353
Percentage of reachable functions covered
38.03%
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 89
/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 27
/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 163
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/alloc_traits.h 45
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 40
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 19
/src/brpc/src/butil/containers/bounded_queue.h 20
/src/brpc/src/butil/containers/flat_map_inl.h 103
/src/brpc/src/butil/containers/flat_map.h 130
/src/brpc/src/butil/single_threaded_pool.h 32
/src/brpc/src/butil/containers/case_ignored_flat_map.h 4
/src/brpc/src/butil/memory/manual_constructor.h 47
/src/brpc/src/butil/memory/aligned_memory.h 23
/src/brpc/src/brpc/details/hpack.h 5
/src/brpc/src/butil/bit_array.h 2
/src/brpc/src/butil/logging.h 82
/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 6
/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/variable.cpp 8
/src/brpc/src/butil/containers/optional.h 42
/src/brpc/src/butil/memory/scope_guard.h 28
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h 1
/src/brpc/src/butil/errno.cpp 2
/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 28
/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 27
/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/bvar/detail/combiner.h 26
/src/brpc/src/bvar/detail/agent_group.h 12
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 40
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 1
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h 18
/src/brpc/src/butil/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/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 16
/src/brpc/src/butil/memory/singleton.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 26
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 4
/src/brpc/src/butil/memory/singleton.cc 1
/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 18
/src/brpc/src/butil/iobuf_profiler.cpp 8
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 8
/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
/src/brpc/src/butil/hash.cc 1
/src/brpc/src/butil/third_party/superfasthash/superfasthash.c 1
/src/brpc/src/butil/containers/hash_tables.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_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 50.8%
gold [1:9] 0 0.0%
yellow [10:29] 10 3.36%
greenyellow [30:49] 2 0.67%
lawngreen 50+ 134 45.1%
All colors 297 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
86 84 brpc::is_valid_char(char) call site: 00084 __cxa_begin_catch
22 3 LLVMFuzzerTestOneInput call site: 00003 __clang_call_terminate
11 27 LLVMFuzzerTestOneInput call site: 00027 __clang_call_terminate
8 45 brpc::URI::URI() call site: 00045 __cxa_call_unexpected
5 75 butil::ManualConstructor , std::allocator >, std::__cxx11::basic_string , std::allocator > > >::Destroy() call site: 00075
3 68 brpc::URI::Clear() call site: 00068
2 60 brpc::URI::Clear() call site: 00060 __clang_call_terminate
2 182 butil::Status::set_errorv(int, char const*, __va_list_tag*) call site: 00182 vsnprintf
2 186 brpc::URI::SetHttpURL(char const*) call site: 00186
2 205 butil::FlatMap , std::allocator >, std::__cxx11::basic_string , std::allocator >, butil::DefaultHasher , std::allocator > >, butil::DefaultEqualTo , std::allocator > >, false, butil::PtAllocator, false>::get_allocator() call site: 00205
1 1 LLVMFuzzerTestOneInput call site: 00001
1 43 butil::SingleThreadedPool<72ul, 1024ul, 16ul, butil::PtAllocator>::~SingleThreadedPool() call site: 00043

Runtime coverage analysis

Covered functions
1071
Functions that are reachable but not covered
231
Reachable functions
361
Percentage of reachable functions covered
36.01%
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/containers/flat_map.h 8
/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/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_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 2404 75.3%
gold [1:9] 242 7.58%
yellow [10:29] 44 1.37%
greenyellow [30:49] 25 0.78%
lawngreen 50+ 475 14.8%
All colors 3190 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
359 105 logging::LogMessage::~LogMessage() call site: 00105 abort
186 2591 butil::ManualConstructor ::get() call site: 02591 sched_yield
76 1164 std::vector >::end() call site: 01164 _ZN9__gnu_cxx17__normal_iteratorIPKN5butil13ThreadKeyInfoESt6vectorIS2_SaIS2_EEEC2IPS2_EERKNS0_IT_NS_11__enable_ifIXsr3std10__are_sameISB_SA_EE7__valueES7_E6__typeEEE
76 3061 brpc::HttpMessage::ParseFromIOBuf(butil::IOBuf const&) call site: 03061 __assert_fail
72 1693 std::vector >::end() call site: 01693 pthread_mutex_lock
57 2048 butil::InitGlobalIOBufProfilerInfo() call site: 02048 getenv
56 2167 DefaultSingletonTraits ::New() call site: 02167 __clang_call_terminate
55 1600 bvar::Variable::expose(butil::BasicStringPiece , std::allocator > > const&, bvar::DisplayFilter) call site: 01600 __clang_call_terminate
44 702 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 call site: 00702
41 1988 logging::LogStream::FlushWithoutReset() call site: 01988 open
38 42 logging::CreateLogStream(char const*, int, char const*, int) call site: 00042 __clang_call_terminate
38 1125 bthread_getspecific call site: 01125 pthread_rwlock_rdlock

Runtime coverage analysis

Covered functions
1279
Functions that are reachable but not covered
2184
Reachable functions
3100
Percentage of reachable functions covered
29.55%
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 83
/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 22
/src/brpc/src/butil/iobuf.cpp 16
/src/brpc/src/butil/logging.cc 35
/src/brpc/src/butil/logging.h 72
/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 42
/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 16
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h 18
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 40
/src/brpc/src/butil/memory/singleton.h 6
/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 148
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 18
/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 6
/src/brpc/src/bvar/reducer.h 8
/src/brpc/src/bvar/variable.h 2
/src/brpc/src/bvar/variable.cpp 8
/src/brpc/src/butil/containers/flat_map_inl.h 75
/src/brpc/src/butil/containers/flat_map.h 101
/src/brpc/src/butil/single_threaded_pool.h 25
/src/brpc/src/butil/containers/optional.h 28
/src/brpc/src/butil/memory/scope_guard.h 24
/src/brpc/src/butil/memory/manual_constructor.h 35
/src/brpc/src/butil/memory/aligned_memory.h 19
/src/brpc/src/butil/bit_array.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 38
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h 1
/src/brpc/src/butil/errno.cpp 2
/src/brpc/src/bthread/key.cpp 21
/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 28
/src/brpc/src/butil/thread_local.cpp 10
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_pair.h 2
/src/brpc/src/butil/containers/linked_list.h 27
/src/brpc/src/bvar/detail/combiner.h 26
/src/brpc/src/bvar/detail/agent_group.h 12
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 1
/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/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/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
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 26
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 4
/src/brpc/src/butil/memory/singleton.cc 1
/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 8
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 8
/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
/src/brpc/src/butil/hash.cc 1
/src/brpc/src/butil/third_party/superfasthash/superfasthash.c 1
/src/brpc/src/butil/containers/hash_tables.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 7
/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_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 5064 87.0%
gold [1:9] 348 5.98%
yellow [10:29] 56 0.96%
greenyellow [30:49] 8 0.13%
lawngreen 50+ 339 5.82%
All colors 5815 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
376 104 butil::internal::GetRangeConstraint(int) call site: 00104 __clang_call_terminate
278 4054 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 04054 pthread_mutex_lock
235 5007 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 05007 bthread_errno_location
229 1693 std::vector >::end() call site: 01693 pthread_mutex_lock
227 3391 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 03391 bthread_errno_location
186 2591 butil::ManualConstructor ::get() call site: 02591 sched_yield
172 3099 std::vector , std::allocator > >::end() call site: 03099 _ZNSt5tupleIJPN4bvar6detail17PercentileSamplesILm1022EEESt14default_deleteIS3_EEEC2IS4_S6_TnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ESA_IT0_EEE5valueEbE4typeELb1EEEv
159 5304 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 05304 bthread_id_error_verbose
122 4771 butil::LinkedList , bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>::Append(butil::LinkNode , bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>*) call site: 04771 __cxa_begin_catch
118 1923 std::vector ::Wrapper>, std::allocator ::Wrapper> > >::end() call site: 01923 pthread_mutex_lock
118 3272 logging::LogStream& logging::LogStream::operator<< , std::allocator > > >(butil::BasicStringPiece , std::allocator > > const&) call site: 03272 bthread_join
113 2985 butil::LinkedList ::Agent>::head() const call site: 02985 ldexp

Runtime coverage analysis

Covered functions
1086
Functions that are reachable but not covered
2305
Reachable functions
2997
Percentage of reachable functions covered
23.09%
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 186
/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 25
/src/brpc/src/butil/iobuf.cpp 23
/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 95
/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 16
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h 39
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 69
/src/brpc/src/butil/memory/singleton.h 6
/src/brpc/src/butil/atomicops_internals_x86_gcc.h 8
/src/brpc/src/butil/atomicops.h 98
/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 369
/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 12
/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/variable.cpp 8
/src/brpc/src/butil/containers/flat_map_inl.h 85
/src/brpc/src/butil/containers/flat_map.h 106
/src/brpc/src/butil/single_threaded_pool.h 26
/src/brpc/src/butil/containers/optional.h 35
/src/brpc/src/butil/memory/scope_guard.h 28
/src/brpc/src/butil/memory/manual_constructor.h 40
/src/brpc/src/butil/memory/aligned_memory.h 23
/src/brpc/src/butil/bit_array.h 2
/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/ext/alloc_traits.h 1
/src/brpc/src/butil/errno.cpp 2
/src/brpc/src/bthread/key.cpp 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 109
/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/containers/linked_list.h 61
/src/brpc/src/bvar/detail/combiner.h 69
/src/brpc/src/bvar/detail/agent_group.h 36
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 1
/src/brpc/src/bthread/task_group.cpp 28
/src/brpc/src/bthread/task_group.h 27
/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/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/src/brpc/src/bvar/passive_status.h 11
/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
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 51
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 6
/src/brpc/src/butil/memory/singleton.cc 1
/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 8
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 8
/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
/src/brpc/src/butil/hash.cc 1
/src/brpc/src/butil/third_party/superfasthash/superfasthash.c 1
/src/brpc/src/butil/containers/hash_tables.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
/src/brpc/src/butil/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/bvar/latency_recorder.h 5
/src/brpc/src/bvar/latency_recorder.cpp 17
/src/brpc/src/bvar/recorder.h 17
/src/brpc/src/bvar/detail/percentile.cpp 8
/src/brpc/src/bvar/detail/percentile.h 34
/src/brpc/src/bvar/vector.h 2
/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 57
/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 14
/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/mutex.h 1
/src/brpc/src/bthread/prime_offset.h 1
/src/brpc/src/bthread/remote_task_queue.h 6
/src/brpc/src/bthread/stack_inl.h 20
/src/brpc/src/bthread/stack.h 3
/src/brpc/src/bthread/stack.cpp 1
/src/brpc/src/butil/third_party/dynamic_annotations/dynamic_annotations.c 2
/src/brpc/src/bthread/task_meta.h 5
/src/brpc/src/bthread/butex.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/butil/macros.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward/hash_fun.h 1
/src/brpc/src/bthread/timer_thread.cpp 8
/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_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 5127 84.9%
gold [1:9] 418 6.92%
yellow [10:29] 60 0.99%
greenyellow [30:49] 2 0.03%
lawngreen 50+ 429 7.10%
All colors 6036 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
359 105 logging::LogMessage::~LogMessage() call site: 00105 abort
276 4289 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 04289 pthread_numeric_id
235 5234 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 05234 bthread_errno_location
227 3633 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 03633 bthread_errno_location
186 2591 butil::ManualConstructor ::get() call site: 02591 sched_yield
167 3347 std::vector , std::allocator > >::end() call site: 03347 _ZNSt5tupleIJPN4bvar6detail17PercentileSamplesILm1022EEESt14default_deleteIS3_EEEC2IS4_S6_TnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ESA_IT0_EEE5valueEbE4typeELb1EEEv
158 5531 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 05531 bthread_id_error_verbose
122 4998 butil::LinkedList , bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>::Append(butil::LinkNode , bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>*) call site: 04998 __cxa_begin_catch
115 3517 butil::operator<<(std::ostream&, butil::BasicStringPiece , std::allocator > > const&) call site: 03517 bthread_join
113 3233 butil::LinkedList ::Agent>::head() const call site: 03233 ldexp
106 4628 butil::LinkedList >::Agent>::Append(butil::LinkNode >::Agent>*) call site: 04628 _ZNSt5tupleIJPN4bvar9PerSecondINS0_13PassiveStatusIdEEEESt14default_deleteIS4_EEEC2IS5_S7_TnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ESB_IT0_EEE5valueEbE4typeELb1EEEv
102 5690 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 05690 bthread_id_list_destroy

Runtime coverage analysis

Covered functions
1169
Functions that are reachable but not covered
2400
Reachable functions
3258
Percentage of reachable functions covered
26.34%
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 195
/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 25
/src/brpc/src/butil/iobuf.cpp 25
/src/brpc/src/butil/logging.cc 35
/src/brpc/src/butil/logging.h 103
/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 100
/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 16
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h 39
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 69
/src/brpc/src/butil/memory/singleton.h 6
/src/brpc/src/butil/atomicops_internals_x86_gcc.h 8
/src/brpc/src/butil/atomicops.h 103
/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 383
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 43
/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 12
/src/brpc/src/bvar/collector.cpp 14
/src/brpc/src/butil/memory/singleton_on_pthread_once.h 9
/src/brpc/src/bvar/reducer.h 17
/src/brpc/src/bvar/variable.h 4
/src/brpc/src/bvar/variable.cpp 8
/src/brpc/src/butil/containers/flat_map_inl.h 85
/src/brpc/src/butil/containers/flat_map.h 106
/src/brpc/src/butil/single_threaded_pool.h 26
/src/brpc/src/butil/containers/optional.h 35
/src/brpc/src/butil/memory/scope_guard.h 28
/src/brpc/src/butil/memory/manual_constructor.h 40
/src/brpc/src/butil/memory/aligned_memory.h 23
/src/brpc/src/butil/bit_array.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 84
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h 1
/src/brpc/src/butil/errno.cpp 2
/src/brpc/src/bthread/key.cpp 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 109
/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/containers/linked_list.h 61
/src/brpc/src/bvar/detail/combiner.h 69
/src/brpc/src/bvar/detail/agent_group.h 36
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 3
/src/brpc/src/bthread/task_group.cpp 28
/src/brpc/src/bthread/task_group.h 27
/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/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/src/brpc/src/bvar/passive_status.h 11
/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
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 51
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 6
/src/brpc/src/butil/memory/singleton.cc 1
/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 8
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 8
/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
/src/brpc/src/butil/hash.cc 1
/src/brpc/src/butil/third_party/superfasthash/superfasthash.c 1
/src/brpc/src/butil/containers/hash_tables.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 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 68
/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
/src/brpc/src/butil/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/bvar/latency_recorder.h 5
/src/brpc/src/bvar/latency_recorder.cpp 17
/src/brpc/src/bvar/recorder.h 17
/src/brpc/src/bvar/detail/percentile.cpp 8
/src/brpc/src/bvar/detail/percentile.h 34
/src/brpc/src/bvar/vector.h 2
/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 14
/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/mutex.h 1
/src/brpc/src/bthread/prime_offset.h 1
/src/brpc/src/bthread/remote_task_queue.h 6
/src/brpc/src/bthread/stack_inl.h 20
/src/brpc/src/bthread/stack.h 3
/src/brpc/src/bthread/stack.cpp 1
/src/brpc/src/butil/third_party/dynamic_annotations/dynamic_annotations.c 2
/src/brpc/src/bthread/task_meta.h 5
/src/brpc/src/bthread/butex.h 1
/src/brpc/src/butil/string_printf.cpp 3
/src/brpc/src/butil/macros.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward/hash_fun.h 1
/src/brpc/src/bthread/timer_thread.cpp 8
/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 5145 85.0%
gold [1:9] 423 6.99%
yellow [10:29] 59 0.97%
greenyellow [30:49] 4 0.06%
lawngreen 50+ 416 6.87%
All colors 6047 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
359 105 logging::LogMessage::~LogMessage() call site: 00105 abort
276 4299 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 04299 pthread_numeric_id
235 5244 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 05244 bthread_errno_location
227 3643 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 03643 bthread_errno_location
186 2591 butil::ManualConstructor ::get() call site: 02591 sched_yield
172 3352 std::vector , std::allocator > >::end() call site: 03352 _ZNSt5tupleIJPN4bvar6detail17PercentileSamplesILm1022EEESt14default_deleteIS3_EEEC2IS4_S6_TnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ESA_IT0_EEE5valueEbE4typeELb1EEEv
159 5541 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 05541 bthread_id_error_verbose
122 5008 butil::LinkedList , bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>::Append(butil::LinkNode , bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>*) call site: 05008 __cxa_begin_catch
115 3527 butil::operator<<(std::ostream&, butil::BasicStringPiece , std::allocator > > const&) call site: 03527 bthread_join
113 3238 butil::LinkedList ::Agent>::head() const call site: 03238 ldexp
106 4638 butil::LinkedList >::Agent>::Append(butil::LinkNode >::Agent>*) call site: 04638 _ZNSt5tupleIJPN4bvar9PerSecondINS0_13PassiveStatusIdEEEESt14default_deleteIS4_EEEC2IS5_S7_TnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ESB_IT0_EEE5valueEbE4typeELb1EEEv
102 5701 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 05701 bthread_id_list_destroy

Runtime coverage analysis

Covered functions
1164
Functions that are reachable but not covered
2408
Reachable functions
3256
Percentage of reachable functions covered
26.04%
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 195
/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 25
/src/brpc/src/butil/iobuf.cpp 25
/src/brpc/src/butil/logging.cc 35
/src/brpc/src/butil/logging.h 103
/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 100
/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 16
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h 39
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 69
/src/brpc/src/butil/memory/singleton.h 6
/src/brpc/src/butil/atomicops_internals_x86_gcc.h 8
/src/brpc/src/butil/atomicops.h 103
/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 383
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/vector.tcc 43
/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 12
/src/brpc/src/bvar/collector.cpp 14
/src/brpc/src/butil/memory/singleton_on_pthread_once.h 9
/src/brpc/src/bvar/reducer.h 17
/src/brpc/src/bvar/variable.h 4
/src/brpc/src/bvar/variable.cpp 8
/src/brpc/src/butil/containers/flat_map_inl.h 85
/src/brpc/src/butil/containers/flat_map.h 106
/src/brpc/src/butil/single_threaded_pool.h 26
/src/brpc/src/butil/containers/optional.h 35
/src/brpc/src/butil/memory/scope_guard.h 28
/src/brpc/src/butil/memory/manual_constructor.h 40
/src/brpc/src/butil/memory/aligned_memory.h 23
/src/brpc/src/butil/bit_array.h 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_iterator.h 84
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/alloc_traits.h 1
/src/brpc/src/butil/errno.cpp 2
/src/brpc/src/bthread/key.cpp 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 109
/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/containers/linked_list.h 61
/src/brpc/src/bvar/detail/combiner.h 69
/src/brpc/src/bvar/detail/agent_group.h 36
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 3
/src/brpc/src/bthread/task_group.cpp 28
/src/brpc/src/bthread/task_group.h 27
/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/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/src/brpc/src/bvar/passive_status.h 11
/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
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 51
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 6
/src/brpc/src/butil/memory/singleton.cc 1
/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 8
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 8
/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
/src/brpc/src/butil/hash.cc 1
/src/brpc/src/butil/third_party/superfasthash/superfasthash.c 1
/src/brpc/src/butil/containers/hash_tables.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 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 68
/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
/src/brpc/src/butil/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/bvar/latency_recorder.h 5
/src/brpc/src/bvar/latency_recorder.cpp 17
/src/brpc/src/bvar/recorder.h 17
/src/brpc/src/bvar/detail/percentile.cpp 8
/src/brpc/src/bvar/detail/percentile.h 34
/src/brpc/src/bvar/vector.h 2
/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 14
/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/mutex.h 1
/src/brpc/src/bthread/prime_offset.h 1
/src/brpc/src/bthread/remote_task_queue.h 6
/src/brpc/src/bthread/stack_inl.h 20
/src/brpc/src/bthread/stack.h 3
/src/brpc/src/bthread/stack.cpp 1
/src/brpc/src/butil/third_party/dynamic_annotations/dynamic_annotations.c 2
/src/brpc/src/bthread/task_meta.h 5
/src/brpc/src/bthread/butex.h 1
/src/brpc/src/butil/string_printf.cpp 3
/src/brpc/src/butil/macros.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward/hash_fun.h 1
/src/brpc/src/bthread/timer_thread.cpp 8
/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_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 5024 86.2%
gold [1:9] 381 6.53%
yellow [10:29] 62 1.06%
greenyellow [30:49] 2 0.03%
lawngreen 50+ 357 6.12%
All colors 5826 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
376 104 butil::internal::GetRangeConstraint(int) call site: 00104 __clang_call_terminate
235 5019 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 05019 bthread_errno_location
229 1692 std::vector >::end() call site: 01692 pthread_mutex_lock
227 3461 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 03461 bthread_errno_location
220 4124 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 04124 pthread_mutex_lock
186 2591 butil::ManualConstructor ::get() call site: 02591 sched_yield
172 3170 std::vector , std::allocator > >::end() call site: 03170 _ZNSt5tupleIJPN4bvar6detail17PercentileSamplesILm1022EEESt14default_deleteIS3_EEEC2IS4_S6_TnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ESA_IT0_EEE5valueEbE4typeELb1EEEv
159 5316 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 05316 bthread_id_error_verbose
122 4783 butil::LinkedList , bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>::Append(butil::LinkNode , bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>*) call site: 04783 __cxa_begin_catch
118 1922 std::vector ::Wrapper>, std::allocator ::Wrapper> > >::end() call site: 01922 pthread_mutex_lock
117 3343 logging::LogStream& logging::LogStream::operator<< , std::allocator > > >(butil::BasicStringPiece , std::allocator > > const&) call site: 03343 bthread_join
113 3056 butil::LinkedList ::Agent>::head() const call site: 03056 ldexp

Runtime coverage analysis

Covered functions
1102
Functions that are reachable but not covered
2320
Reachable functions
3049
Percentage of reachable functions covered
23.91%
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 186
/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 25
/src/brpc/src/butil/iobuf.cpp 23
/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 95
/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 16
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr.h 39
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 69
/src/brpc/src/butil/memory/singleton.h 6
/src/brpc/src/butil/atomicops_internals_x86_gcc.h 8
/src/brpc/src/butil/atomicops.h 98
/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 369
/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 12
/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/variable.cpp 8
/src/brpc/src/butil/containers/flat_map_inl.h 85
/src/brpc/src/butil/containers/flat_map.h 106
/src/brpc/src/butil/single_threaded_pool.h 26
/src/brpc/src/butil/containers/optional.h 35
/src/brpc/src/butil/memory/scope_guard.h 28
/src/brpc/src/butil/memory/manual_constructor.h 40
/src/brpc/src/butil/memory/aligned_memory.h 23
/src/brpc/src/butil/bit_array.h 2
/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/ext/alloc_traits.h 1
/src/brpc/src/butil/errno.cpp 2
/src/brpc/src/bthread/key.cpp 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 109
/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/containers/linked_list.h 61
/src/brpc/src/bvar/detail/combiner.h 69
/src/brpc/src/bvar/detail/agent_group.h 36
/src/brpc/src/butil/synchronization/lock.h 10
/src/brpc/src/bvar/detail/call_op_returning_void.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/ext/atomicity.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9/bits/gthr-default.h 1
/src/brpc/src/bthread/task_group.cpp 28
/src/brpc/src/bthread/task_group.h 27
/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/threading/platform_thread_linux.cc 1
/src/brpc/src/butil/threading/platform_thread_posix.cc 2
/src/brpc/src/bvar/passive_status.h 11
/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
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/stl_deque.h 51
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/deque.tcc 6
/src/brpc/src/butil/memory/singleton.cc 1
/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 8
/src/brpc/src/butil/strings/string_number_conversions.cc 15
/src/brpc/src/butil/iobuf_profiler.h 8
/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
/src/brpc/src/butil/hash.cc 1
/src/brpc/src/butil/third_party/superfasthash/superfasthash.c 1
/src/brpc/src/butil/containers/hash_tables.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
/src/brpc/src/butil/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/bvar/latency_recorder.h 5
/src/brpc/src/bvar/latency_recorder.cpp 17
/src/brpc/src/bvar/recorder.h 17
/src/brpc/src/bvar/detail/percentile.cpp 8
/src/brpc/src/bvar/detail/percentile.h 34
/src/brpc/src/bvar/vector.h 2
/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 57
/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 14
/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/mutex.h 1
/src/brpc/src/bthread/prime_offset.h 1
/src/brpc/src/bthread/remote_task_queue.h 6
/src/brpc/src/bthread/stack_inl.h 20
/src/brpc/src/bthread/stack.h 3
/src/brpc/src/bthread/stack.cpp 1
/src/brpc/src/butil/third_party/dynamic_annotations/dynamic_annotations.c 2
/src/brpc/src/bthread/task_meta.h 5
/src/brpc/src/bthread/butex.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/butil/macros.h 4
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward/hash_fun.h 1
/src/brpc/src/bthread/timer_thread.cpp 8
/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_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)', 'std::vector >::end()', 'std::vector >::end()', 'std::vector::Wrapper>, std::allocator::Wrapper> > >::end()', 'std::vector >::end()', 'bvar::detail::AgentCombiner::get_or_create_tls_agent()', 'bvar::Variable::expose(butil::BasicStringPiece, std::allocator > > const&, bvar::DisplayFilter)', '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', 'butil::Hash(char const*, unsigned long)', 'butil::PlatformThread::SetNameSimple(char const*)']

/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=['butil::rapidjson::GenericReader, butil::rapidjson::UTF8, butil::rapidjson::CrtAllocator>::NumberStream >, false>::Tell()', 'butil::rapidjson::GenericValue, butil::rapidjson::MemoryPoolAllocator >::SetObjectRaw(butil::rapidjson::GenericMember, butil::rapidjson::MemoryPoolAllocator >*, unsigned int, butil::rapidjson::MemoryPoolAllocator&)', 'butil::rapidjson::GenericDocument, butil::rapidjson::MemoryPoolAllocator, butil::rapidjson::CrtAllocator>::Bool(bool)', 'json2pb::JsonValueToProtoMessage(butil::rapidjson::GenericValue, butil::rapidjson::MemoryPoolAllocator > const&, google::protobuf::Message*, json2pb::Json2PbOptions const&, std::__cxx11::basic_string, std::allocator >*, int)', 'butil::rapidjson::GenericValue, butil::rapidjson::MemoryPoolAllocator >::SetArrayRaw(butil::rapidjson::GenericValue, butil::rapidjson::MemoryPoolAllocator >*, unsigned int, butil::rapidjson::MemoryPoolAllocator&)', 'json2pb::JsonValueToProtoField(butil::rapidjson::GenericValue, butil::rapidjson::MemoryPoolAllocator > const&, google::protobuf::FieldDescriptor const*, google::protobuf::Message*, json2pb::Json2PbOptions const&, std::__cxx11::basic_string, std::allocator >*, int)', 'LLVMFuzzerTestOneInput', 'butil::rapidjson::GenericDocument, butil::rapidjson::MemoryPoolAllocator, butil::rapidjson::CrtAllocator>::Null()', 'JsonContextBody::JsonContextBody()', 'std::vector >::end()']

/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=['butil::ManualConstructor::get()', 'std::vector >::end()', 'std::vector >::end()', 'butil::InitGlobalIOBufProfilerInfo()', 'DefaultSingletonTraits::New()', 'bvar::Variable::expose(butil::BasicStringPiece, std::allocator > > const&, bvar::DisplayFilter)', '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', 'logging::CreateLogStream(char const*, int, char const*, int)', 'bthread_getspecific', 'butil::PlatformThread::SetNameSimple(char const*)']

/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::ManualConstructor::get()', 'std::vector >::end()', 'std::vector >::end()', '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::ParseOperatorName(google::State*)', 'DefaultSingletonTraits::New()', 'butil::InitGlobalIOBufProfilerInfo()', 'unsigned long* butil::FlatMap, std::allocator >, unsigned long, butil::CaseIgnoredHasher, butil::CaseIgnoredEqual, false, butil::PtAllocator, false>::seek, std::allocator > >(std::__cxx11::basic_string, std::allocator > const&) const', 'logging::LogStream::FlushWithoutReset()', 'butil::BoundedQueue >::clear()']

/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::URI()', 'butil::ManualConstructor, std::allocator >, std::__cxx11::basic_string, std::allocator > > >::Destroy()', 'brpc::URI::Clear()', 'brpc::URI::Clear()', 'butil::Status::set_errorv(int, char const*, __va_list_tag*)', 'brpc::URI::SetHttpURL(char const*)', 'butil::FlatMap, std::allocator >, std::__cxx11::basic_string, std::allocator >, butil::DefaultHasher, std::allocator > >, butil::DefaultEqualTo, std::allocator > >, false, butil::PtAllocator, false>::get_allocator()']

/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::ManualConstructor::get()', 'std::vector >::end()', 'brpc::HttpMessage::ParseFromIOBuf(butil::IOBuf const&)', 'std::vector >::end()', 'butil::InitGlobalIOBufProfilerInfo()', 'DefaultSingletonTraits::New()', 'bvar::Variable::expose(butil::BasicStringPiece, std::allocator > > const&, bvar::DisplayFilter)', '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', 'logging::LogStream::FlushWithoutReset()']

/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::internal::GetRangeConstraint(int)', 'butil::static_atomic::BlockGroup*>::store(butil::ResourcePool::BlockGroup*, std::memory_order)', 'butil::static_atomic::BlockGroup*>::load(std::memory_order)', 'std::vector >::end()', 'butil::static_atomic::BlockGroup*>::load(std::memory_order)', 'butil::ManualConstructor::get()', 'std::vector, std::allocator > >::end()', 'butil::static_atomic::BlockGroup*>::store(butil::ResourcePool::BlockGroup*, std::memory_order)', 'butil::LinkedList, bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>::Append(butil::LinkNode, bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>*)', 'std::vector::Wrapper>, std::allocator::Wrapper> > >::end()']

/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=['logging::LogMessage::~LogMessage()', 'butil::static_atomic::BlockGroup*>::store(butil::ResourcePool::BlockGroup*, std::memory_order)', 'butil::static_atomic::BlockGroup*>::load(std::memory_order)', 'butil::static_atomic::BlockGroup*>::load(std::memory_order)', 'butil::ManualConstructor::get()', 'std::vector, std::allocator > >::end()', 'butil::static_atomic::BlockGroup*>::store(butil::ResourcePool::BlockGroup*, std::memory_order)', 'butil::LinkedList, bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>::Append(butil::LinkNode, bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>*)', 'butil::operator<<(std::ostream&, butil::BasicStringPiece, std::allocator > > const&)', 'butil::LinkedList::Agent>::head() const']

/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=['logging::LogMessage::~LogMessage()', 'butil::static_atomic::BlockGroup*>::store(butil::ResourcePool::BlockGroup*, std::memory_order)', 'butil::static_atomic::BlockGroup*>::load(std::memory_order)', 'butil::static_atomic::BlockGroup*>::load(std::memory_order)', 'butil::ManualConstructor::get()', 'std::vector, std::allocator > >::end()', 'butil::static_atomic::BlockGroup*>::store(butil::ResourcePool::BlockGroup*, std::memory_order)', 'butil::LinkedList, bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>::Append(butil::LinkNode, bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>*)', 'butil::operator<<(std::ostream&, butil::BasicStringPiece, std::allocator > > const&)', 'butil::LinkedList::Agent>::head() const']

/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::internal::GetRangeConstraint(int)', 'butil::static_atomic::BlockGroup*>::load(std::memory_order)', 'std::vector >::end()', 'butil::static_atomic::BlockGroup*>::load(std::memory_order)', 'butil::static_atomic::BlockGroup*>::store(butil::ResourcePool::BlockGroup*, std::memory_order)', 'butil::ManualConstructor::get()', 'std::vector, std::allocator > >::end()', 'butil::static_atomic::BlockGroup*>::store(butil::ResourcePool::BlockGroup*, std::memory_order)', 'butil::LinkedList, bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>::Append(butil::LinkNode, bvar::detail::PercentileSamples<30ul>, bvar::detail::detail::AddPercentileSamples>::Agent>*)', 'std::vector::Wrapper>, std::allocator::Wrapper> > >::end()']

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>::resize(unsignedlong) 38 13 34.21% ['fuzz_uri', 'fuzz_shead', 'fuzz_http', 'fuzz_redis', 'fuzz_butil', 'fuzz_sofa', 'fuzz_json', 'fuzz_hpack', 'fuzz_esp', 'fuzz_hulu']
bvar::Variable::expose_impl(butil::BasicStringPiece ,std::allocator >>const&,butil::BasicStringPiece ,std::allocator >>const&,bvar::DisplayFilter) 36 18 50.0% ['fuzz_uri', 'fuzz_shead', 'fuzz_http', 'fuzz_redis', 'fuzz_butil', 'fuzz_sofa', 'fuzz_json', 'fuzz_hpack', 'fuzz_esp', 'fuzz_hulu']
voidbutil::rapidjson::GenericReader ,butil::rapidjson::UTF8 ,butil::rapidjson::CrtAllocator>::ParseString<4u,butil::rapidjson::GenericStringStream >,butil::rapidjson::GenericDocument ,butil::rapidjson::MemoryPoolAllocator ,butil::rapidjson::CrtAllocator>>(butil::rapidjson::GenericStringStream >&,butil::rapidjson::GenericDocument ,butil::rapidjson::MemoryPoolAllocator ,butil::rapidjson::CrtAllocator>&,bool) 31 16 51.61% ['fuzz_json']
json2pb::JsonValueToProtoField(butil::rapidjson::GenericValue ,butil::rapidjson::MemoryPoolAllocator >const&,google::protobuf::FieldDescriptorconst*,google::protobuf::Message*,json2pb::Json2PbOptionsconst&,std::__cxx11::basic_string ,std::allocator >*,int) 167 90 53.89% ['fuzz_json']
logging::LogStream::FlushWithoutReset() 53 29 54.71% ['fuzz_http', 'fuzz_redis', 'fuzz_butil', 'fuzz_sofa', 'fuzz_shead', 'fuzz_hpack', 'fuzz_esp', 'fuzz_hulu']
logging::DefaultLogSink::OnLogMessage(int,charconst*,int,charconst*,butil::BasicStringPiece ,std::allocator >>const&) 34 11 32.35% ['fuzz_http', 'fuzz_redis', 'fuzz_sofa', 'fuzz_hpack', 'fuzz_hulu']
google::ParseOperatorName(google::State*) 37 13 35.13% ['fuzz_http', 'fuzz_redis', 'fuzz_butil', 'fuzz_sofa', 'fuzz_shead', 'fuzz_hpack', 'fuzz_esp', 'fuzz_hulu']
butil::FlatMap ::resize(unsignedlong) 38 13 34.21% ['fuzz_hpack']
butil::FlatMap ,std::allocator >,unsignedlong,butil::CaseIgnoredHasher,butil::CaseIgnoredEqual,false,butil::PtAllocator,false>::resize(unsignedlong) 38 13 34.21% ['fuzz_hpack']
butil::Status::set_errorv(int,charconst*,__va_list_tag*) 56 28 50.0% ['fuzz_http', 'fuzz_uri']
brpc::HttpMessage::on_header_value(brpc::http_parser*,charconst*,unsignedlong) 50 26 52.0% ['fuzz_http']
brpc::HttpMessage::OnBody(charconst*,unsignedlong) 56 14 25.0% ['fuzz_http']
voidbutil::IOBuf::_push_or_move_back_ref_to_smallview (butil::IOBuf::BlockRefconst&) 47 13 27.65% ['fuzz_redis', 'fuzz_sofa', 'fuzz_shead', 'fuzz_esp', 'fuzz_hulu']

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

Directories in report

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