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

Project overview: brpc

High level conclusions

Reachability and coverage overview

Functions statically reachable by fuzzers
8.0%
2474 / 31532
Cyclomatic complexity statically reachable by fuzzers
7.00%
9753 / 142639
Runtime code coverage of functions
26.0%
8190 / 31532

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 1803 85.8%
gold [1:9] 155 7.38%
yellow [10:29] 10 0.47%
greenyellow [30:49] 1 0.04%
lawngreen 50+ 130 6.19%
All colors 2099 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 1725 std::vector >::end() call site: 01725 pthread_mutex_lock
122 1273 std::vector >::end() call site: 01273 bthread_setspecific
118 1955 std::vector ::Wrapper>, std::allocator ::Wrapper> > >::end() call site: 01955 pthread_mutex_lock
76 1196 std::vector >::end() call site: 01196 _ZN9__gnu_cxx17__normal_iteratorIPKN5butil13ThreadKeyInfoESt6vectorIS2_SaIS2_EEEC2IPS2_EERKNS0_IT_NS_11__enable_ifIXsr3std10__are_sameISB_SA_EE7__valueES7_E6__typeEEE
64 1131 bvar::detail::AgentCombiner ::get_or_create_tls_agent() call site: 01131 bthread_key_create2
55 1632 bvar::Variable::expose(butil::BasicStringPiece , std::allocator > > const&, bvar::DisplayFilter) call site: 01632 __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 1421 butil::PlatformThread::SetNameSimple(char const*) call site: 01421 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] 14 1.39%
greenyellow [30:49] 17 1.69%
lawngreen 50+ 458 45.7%
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 2220 69.4%
gold [1:9] 441 13.8%
yellow [10:29] 165 5.16%
greenyellow [30:49] 18 0.56%
lawngreen 50+ 351 10.9%
All colors 3195 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 2598 butil::ManualConstructor ::get() call site: 02598 sched_yield
76 1171 std::vector >::end() call site: 01171 _ZN9__gnu_cxx17__normal_iteratorIPKN5butil13ThreadKeyInfoESt6vectorIS2_SaIS2_EEEC2IPS2_EERKNS0_IT_NS_11__enable_ifIXsr3std10__are_sameISB_SA_EE7__valueES7_E6__typeEEE
72 1700 std::vector >::end() call site: 01700 pthread_mutex_lock
57 2055 butil::InitGlobalIOBufProfilerInfo() call site: 02055 getenv
56 2174 DefaultSingletonTraits ::New() call site: 02174 __clang_call_terminate
55 1607 bvar::Variable::expose(butil::BasicStringPiece , std::allocator > > const&, bvar::DisplayFilter) call site: 01607 __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 1132 bthread_getspecific call site: 01132 pthread_rwlock_rdlock
38 1396 butil::PlatformThread::SetNameSimple(char const*) call site: 01396 strlen
38 1774 butil::DoublyBufferedData ::WrapperTLSGroup::_get_free_ids() call site: 01774 __cxa_begin_catch
36 2113 butil::static_atomic *>::load(std::memory_order) call site: 02113

Runtime coverage analysis

Covered functions
812
Functions that are reachable but not covered
2012
Reachable functions
3001
Percentage of reachable functions covered
32.96%
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 2358 65.8%
gold [1:9] 259 7.23%
yellow [10:29] 87 2.43%
greenyellow [30:49] 2 0.05%
lawngreen 50+ 873 24.3%
All colors 3579 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 3133 butil::ManualConstructor ::get() call site: 03133 sched_yield
76 1602 std::vector >::end() call site: 01602 _ZN9__gnu_cxx17__normal_iteratorIPKN5butil13ThreadKeyInfoESt6vectorIS2_SaIS2_EEEC2IPS2_EERKNS0_IT_NS_11__enable_ifIXsr3std10__are_sameISB_SA_EE7__valueES7_E6__typeEEE
72 1478 std::vector >::end() call site: 01478 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 2710 DefaultSingletonTraits ::New() call site: 02710 __clang_call_terminate
47 2596 butil::InitGlobalIOBufProfilerInfo() call site: 02596 getenv
43 2428 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: 02428
41 2072 logging::LogStream::FlushWithoutReset() call site: 02072 open
39 1401 butil::BoundedQueue >::clear() call site: 01401 pthread_cond_wait
38 1167 butil::PlatformThread::SetNameSimple(char const*) call site: 01167 strlen
38 1563 bthread_getspecific call site: 01563 pthread_rwlock_rdlock
38 1851 butil::DoublyBufferedData ::WrapperTLSGroup::_get_free_ids() call site: 01851 __cxa_begin_catch

Runtime coverage analysis

Covered functions
885
Functions that are reachable but not covered
2074
Reachable functions
3353
Percentage of reachable functions covered
38.14%
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] 9 3.03%
greenyellow [30:49] 4 1.34%
lawngreen 50+ 133 44.7%
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_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 5117 84.9%
gold [1:9] 414 6.87%
yellow [10:29] 58 0.96%
greenyellow [30:49] 3 0.04%
lawngreen 50+ 429 7.12%
All colors 6021 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
261 4285 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 04285 pthread_numeric_id
235 5219 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 05219 bthread_errno_location
216 3640 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 03640 bthread_errno_location
186 2598 butil::ManualConstructor ::get() call site: 02598 sched_yield
167 3354 std::vector , std::allocator > >::end() call site: 03354 _ZNSt5tupleIJPN4bvar6detail17PercentileSamplesILm1022EEESt14default_deleteIS3_EEEC2IS4_S6_TnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ESA_IT0_EEE5valueEbE4typeELb1EEEv
158 5516 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 05516 bthread_id_error_verbose
128 4977 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: 04977 __cxa_begin_catch
115 3524 butil::operator<<(std::ostream&, butil::BasicStringPiece , std::allocator > > const&) call site: 03524 bthread_join
113 3240 butil::LinkedList ::Agent>::head() const call site: 03240 ldexp
106 4609 butil::LinkedList >::Agent>::Append(butil::LinkNode >::Agent>*) call site: 04609 _ZNSt5tupleIJPN4bvar9PerSecondINS0_13PassiveStatusIdEEEESt14default_deleteIS4_EEEC2IS5_S7_TnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ESB_IT0_EEE5valueEbE4typeELb1EEEv
102 5675 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 05675 bthread_id_list_destroy

Runtime coverage analysis

Covered functions
1167
Functions that are reachable but not covered
2404
Reachable functions
3258
Percentage of reachable functions covered
26.21%
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 102
/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 40
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 72
/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 382
/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 13
/src/brpc/src/bthread/task_control.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/array 4
/src/brpc/src/bthread/work_stealing_queue.h 7
/src/brpc/src/butil/compat.h 1
/src/brpc/src/bthread/parking_lot.h 6
/src/brpc/src/bthread/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_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 5049 87.0%
gold [1:9] 350 6.03%
yellow [10:29] 61 1.05%
greenyellow [30:49] 1 0.01%
lawngreen 50+ 339 5.84%
All colors 5800 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
263 4050 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 04050 pthread_mutex_lock
235 4992 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 04992 bthread_errno_location
229 1700 std::vector >::end() call site: 01700 pthread_mutex_lock
216 3398 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 03398 bthread_errno_location
186 2598 butil::ManualConstructor ::get() call site: 02598 sched_yield
172 3106 std::vector , std::allocator > >::end() call site: 03106 _ZNSt5tupleIJPN4bvar6detail17PercentileSamplesILm1022EEESt14default_deleteIS3_EEEC2IS4_S6_TnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ESA_IT0_EEE5valueEbE4typeELb1EEEv
159 5289 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 05289 bthread_id_error_verbose
128 4750 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: 04750 __cxa_begin_catch
118 1930 std::vector ::Wrapper>, std::allocator ::Wrapper> > >::end() call site: 01930 pthread_mutex_lock
118 3279 logging::LogStream& logging::LogStream::operator<< , std::allocator > > >(butil::BasicStringPiece , std::allocator > > const&) call site: 03279 bthread_join
113 2992 butil::LinkedList ::Agent>::head() const call site: 02992 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 99
/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 40
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 72
/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 368
/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 13
/src/brpc/src/bthread/task_control.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/array 4
/src/brpc/src/bthread/work_stealing_queue.h 7
/src/brpc/src/butil/compat.h 1
/src/brpc/src/bthread/parking_lot.h 6
/src/brpc/src/bthread/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_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 2411 75.4%
gold [1:9] 242 7.56%
yellow [10:29] 44 1.37%
greenyellow [30:49] 25 0.78%
lawngreen 50+ 475 14.8%
All colors 3197 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 2598 butil::ManualConstructor ::get() call site: 02598 sched_yield
76 1171 std::vector >::end() call site: 01171 _ZN9__gnu_cxx17__normal_iteratorIPKN5butil13ThreadKeyInfoESt6vectorIS2_SaIS2_EEEC2IPS2_EERKNS0_IT_NS_11__enable_ifIXsr3std10__are_sameISB_SA_EE7__valueES7_E6__typeEEE
76 3068 brpc::HttpMessage::ParseFromIOBuf(butil::IOBuf const&) call site: 03068 __assert_fail
72 1700 std::vector >::end() call site: 01700 pthread_mutex_lock
57 2055 butil::InitGlobalIOBufProfilerInfo() call site: 02055 getenv
56 2174 DefaultSingletonTraits ::New() call site: 02174 __clang_call_terminate
55 1607 bvar::Variable::expose(butil::BasicStringPiece , std::allocator > > const&, bvar::DisplayFilter) call site: 01607 __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 1995 logging::LogStream::FlushWithoutReset() call site: 01995 open
38 42 logging::CreateLogStream(char const*, int, char const*, int) call site: 00042 __clang_call_terminate
38 1132 bthread_getspecific call site: 01132 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_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 5130 85.0%
gold [1:9] 423 7.01%
yellow [10:29] 59 0.97%
greenyellow [30:49] 30 0.49%
lawngreen 50+ 390 6.46%
All colors 6032 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
261 4295 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 04295 pthread_numeric_id
235 5229 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 05229 bthread_errno_location
216 3650 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 03650 bthread_errno_location
186 2598 butil::ManualConstructor ::get() call site: 02598 sched_yield
172 3359 std::vector , std::allocator > >::end() call site: 03359 _ZNSt5tupleIJPN4bvar6detail17PercentileSamplesILm1022EEESt14default_deleteIS3_EEEC2IS4_S6_TnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ESA_IT0_EEE5valueEbE4typeELb1EEEv
159 5526 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 05526 bthread_id_error_verbose
128 4987 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: 04987 __cxa_begin_catch
115 3534 butil::operator<<(std::ostream&, butil::BasicStringPiece , std::allocator > > const&) call site: 03534 bthread_join
113 3245 butil::LinkedList ::Agent>::head() const call site: 03245 ldexp
106 4619 butil::LinkedList >::Agent>::Append(butil::LinkNode >::Agent>*) call site: 04619 _ZNSt5tupleIJPN4bvar9PerSecondINS0_13PassiveStatusIdEEEESt14default_deleteIS4_EEEC2IS5_S7_TnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ESB_IT0_EEE5valueEbE4typeELb1EEEv
102 5686 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 05686 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 102
/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 40
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 72
/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 382
/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 13
/src/brpc/src/bthread/task_control.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/array 4
/src/brpc/src/bthread/work_stealing_queue.h 7
/src/brpc/src/butil/compat.h 1
/src/brpc/src/bthread/parking_lot.h 6
/src/brpc/src/bthread/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 5007 86.1%
gold [1:9] 382 6.57%
yellow [10:29] 56 0.96%
greenyellow [30:49] 8 0.13%
lawngreen 50+ 358 6.16%
All colors 5811 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 5004 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 05004 bthread_errno_location
229 1699 std::vector >::end() call site: 01699 pthread_mutex_lock
216 3468 butil::static_atomic ::BlockGroup*>::load(std::memory_order) call site: 03468 bthread_errno_location
205 4120 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 04120 pthread_mutex_lock
186 2598 butil::ManualConstructor ::get() call site: 02598 sched_yield
172 3177 std::vector , std::allocator > >::end() call site: 03177 _ZNSt5tupleIJPN4bvar6detail17PercentileSamplesILm1022EEESt14default_deleteIS3_EEEC2IS4_S6_TnNSt9enable_ifIXsr6__and_ISt37__is_implicitly_default_constructibleIT_ESA_IT0_EEE5valueEbE4typeELb1EEEv
159 5301 butil::static_atomic ::BlockGroup*>::store(butil::ResourcePool ::BlockGroup*, std::memory_order) call site: 05301 bthread_id_error_verbose
128 4762 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: 04762 __cxa_begin_catch
118 1929 std::vector ::Wrapper>, std::allocator ::Wrapper> > >::end() call site: 01929 pthread_mutex_lock
117 3350 logging::LogStream& logging::LogStream::operator<< , std::allocator > > >(butil::BasicStringPiece , std::allocator > > const&) call site: 03350 bthread_join
113 3063 butil::LinkedList ::Agent>::head() const call site: 03063 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 99
/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 40
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/shared_ptr_base.h 72
/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 368
/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 13
/src/brpc/src/bthread/task_control.h 6
/usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/array 4
/src/brpc/src/bthread/work_stealing_queue.h 7
/src/brpc/src/butil/compat.h 1
/src/brpc/src/bthread/parking_lot.h 6
/src/brpc/src/bthread/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', '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()', 'butil::PlatformThread::SetNameSimple(char const*)']

/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_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_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_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_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_json', 'fuzz_hpack', 'fuzz_http', 'fuzz_hulu', 'fuzz_shead', 'fuzz_uri', 'fuzz_sofa', 'fuzz_butil', 'fuzz_esp', 'fuzz_redis']
bvar::Variable::expose_impl(butil::BasicStringPiece ,std::allocator >>const&,butil::BasicStringPiece ,std::allocator >>const&,bvar::DisplayFilter) 36 18 50.0% ['fuzz_json', 'fuzz_hpack', 'fuzz_http', 'fuzz_hulu', 'fuzz_shead', 'fuzz_uri', 'fuzz_sofa', 'fuzz_butil', 'fuzz_esp', 'fuzz_redis']
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']
voidbutil::IOBuf::_push_or_move_back_ref_to_smallview (butil::IOBuf::BlockRefconst&) 47 13 27.65% ['fuzz_hulu', 'fuzz_shead', 'fuzz_sofa', 'fuzz_esp', 'fuzz_redis']
logging::LogStream::FlushWithoutReset() 53 29 54.71% ['fuzz_hpack', 'fuzz_http', 'fuzz_hulu', 'fuzz_shead', 'fuzz_sofa', 'fuzz_butil', 'fuzz_esp', 'fuzz_redis']
logging::DefaultLogSink::OnLogMessage(int,charconst*,int,charconst*,butil::BasicStringPiece ,std::allocator >>const&) 34 11 32.35% ['fuzz_hpack', 'fuzz_http', 'fuzz_hulu', 'fuzz_sofa', 'fuzz_redis']
google::ParseOperatorName(google::State*) 37 13 35.13% ['fuzz_hpack', 'fuzz_http', 'fuzz_hulu', 'fuzz_shead', 'fuzz_sofa', 'fuzz_butil', 'fuzz_esp', 'fuzz_redis']
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']

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

Directories in report

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