Fuzz introspector: /work/build/../../src/perfetto/src/profiling/memory/shared_ring_buffer_write_fuzzer.cc
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

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

['perfetto::TracingServiceImpl::ReadBuffersIntoFile(unsigned long)']

2031 2064 perfetto::TracingServiceImpl::DisableTracingNotifyConsumerAndFlushFile(perfetto::TracingServiceImpl::TracingSession*) call site: 00000 /work/build/../../src/perfetto/src/tracing/service/tracing_service_impl.cc:1864
728 810 17 :

['perfetto::base::FlatSet ::begin() const', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'perfetto::protos::pbzero::InternedString* perfetto::protos::pbzero::InternedData::add_kernel_symbols ()', 'perfetto::base::FlatSet ::size() const', 'bool std::__1::operator!=[abi:nn180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'perfetto::protos::pbzero::InternedString::set_str(std::__1::basic_string , std::__1::allocator >)', 'perfetto::protos::pbzero::TracePacket::set_sequence_flags(unsigned int)', 'perfetto::protos::pbzero::InternedString::set_iid(unsigned long)', 'perfetto::protos::pbzero::InternedData* perfetto::protos::pbzero::TracePacket::set_interned_data ()', 'perfetto::KernelSymbolMap::Lookup(unsigned long)', 'std::__1::basic_string , std::__1::allocator >::empty[abi:nn180100]() const', 'std::__1::__wrap_iter ::operator++[abi:nn180100]()', 'std::__1::basic_string , std::__1::allocator >::basic_string(std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::__wrap_iter ::operator*[abi:nn180100]() const', 'perfetto::LazyKernelSymbolizer::GetOrCreateKernelSymbolMap()', 'perfetto::base::FlatSet ::end() const', 'protozero::MessageHandle ::operator->() const']

817 903 perfetto::CpuReader::Bundler::FinalizeAndRunSymbolizer() call site: 00000 /work/build/../../src/perfetto/src/traced/probes/ftrace/cpu_reader.cc:358
401 401 1 :

['ZSTD_decompressSequencesLong']

401 401 ZSTD_decompressBlock_internal call site: 00000 /work/build/../../src/perfetto/buildtools/zstd/lib/decompress/zstd_decompress_block.c:2142
382 382 1 :

['HUF_decompress4X_hufOnly_wksp']

382 382 ZSTD_decodeLiteralsBlock call site: 00000 /work/build/../../src/perfetto/buildtools/zstd/lib/decompress/zstd_decompress_block.c:196
366 366 1 :

['ZSTD_decompressSequencesSplitLitBuffer']

366 366 ZSTD_decompressBlock_internal call site: 00000 /work/build/../../src/perfetto/buildtools/zstd/lib/decompress/zstd_decompress_block.c:2154
286 286 1 :

['perfetto::TracingServiceImpl::PeriodicFlushTask(unsigned long, bool)']

328 930 perfetto::TracingServiceImpl::StartTracing(unsignedlong) call site: 00000 /work/build/../../src/perfetto/src/tracing/service/tracing_service_impl.cc:1340
271 271 2 :

['ERR_isError.43961', 'ZSTD_decompress_insertDictionary']

271 271 ZSTD_decompressBegin_usingDict call site: 00000 /work/build/../../src/perfetto/buildtools/zstd/lib/decompress/zstd_decompress.c:1563
261 261 2 :

['HUF_decompress1X_usingDTable', 'HUF_decompress4X_usingDTable']

261 261 ZSTD_decodeLiteralsBlock call site: 00000 /work/build/../../src/perfetto/buildtools/zstd/lib/decompress/zstd_decompress_block.c:184
238 238 5 :

['_ZNSt3__16get_ifB8nn180100INS_6vectorIjNS_9allocatorIjEEEEJN8perfetto15trace_processor6RowMap5RangeENS6_9BitVectorES4_EEEu13__add_pointerIKT_EPKNS_7variantIJDpT0_EEE', 'perfetto::trace_processor::RowMap::NoVariantMatched()', 'std::__1::vector >::operator[][abi:nn180100](unsigned long) const', 'perfetto::trace_processor::BitVector::IndexOfNthSet(unsigned int) const', '_ZNSt3__16get_ifB8nn180100IN8perfetto15trace_processor9BitVectorEJNS2_6RowMap5RangeES3_NS_6vectorIjNS_9allocatorIjEEEEEEEu13__add_pointerIKT_EPKNS_7variantIJDpT0_EEE']

238 238 perfetto::trace_processor::RowMap::Get(unsignedint)const call site: 00000 /work/build/../../src/perfetto/src/trace_processor/containers/row_map.h:220
218 220 5 :

['perfetto::trace_processor::RowMap::InsertIntoBitVector(perfetto::trace_processor::BitVector&, unsigned int)', 'perfetto::trace_processor::BitVector::~BitVector()', 'perfetto::trace_processor::BitVector::Resize(unsigned int, bool)', 'perfetto::trace_processor::BitVector::BitVector()', '_ZNSt3__17variantIJN8perfetto15trace_processor6RowMap5RangeENS2_9BitVectorENS_6vectorIjNS_9allocatorIjEEEEEEaSB8nn180100IS5_TnNS_9enable_ifIXnt9is_same_vIu14__remove_cvrefIT_ESA_EEiE4typeELi0ES5_Lm1ETnNSC_IXaa15is_assignable_vIRT1_SD_E18is_constructible_vISH_SD_EEiE4typeELi0EEERSA_OSD_']

218 220 perfetto::trace_processor::RowMap::Insert(unsignedint) call site: 00000 /work/build/../../src/perfetto/src/trace_processor/containers/row_map.h:302
218 218 1 :

['perfetto::trace_processor::TrackEventParser::EventImporter::ParseCounterEvent()']

218 218 perfetto::trace_processor::TrackEventParser::EventImporter::Import() call site: 00000 /work/build/../../src/perfetto/src/trace_processor/importers/proto/track_event_parser.cc:234
156 212 10 :

['unwindstack::MapInfo::offset() const', 'unwindstack::MapInfo::end() const', 'unwindstack::MapInfo::set_elf_start_offset(unsigned long)', 'unwindstack::Elf::IsValidElf(unwindstack::Memory*)', 'unwindstack::MapInfo::InitFileMemoryFromPreviousReadOnlyMap(unwindstack::MemoryFileAtOffset*)', 'unsigned long const& std::__1::max[abi:nn180100] (unsigned long const&, unsigned long const&)', 'unwindstack::MapInfo::set_elf_offset(unsigned long)', 'std::__1::shared_ptr ::get[abi:nn180100]() const', 'unwindstack::Elf::GetInfo(unwindstack::Memory*, unsigned long*)', 'unwindstack::MapInfo::start() const']

201 497 unwindstack::MapInfo::CreateFileMemory() call site: 00000 /work/build/../../src/perfetto/buildtools/android-unwinding/libunwindstack/MapInfo.cpp:111

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 perfetto::profiling::(anonymous namespace)::FuzzRingBufferWrite(unsigned char const*, unsigned long) [function] [call site] 00001
2 perfetto::base::TempFile::CreateUnlinked() [function] [call site] 00002
3 perfetto::base::TempFile::Create() [function] [call site] 00003
4 perfetto::base::TempFile::TempFile() [function] [call site] 00004
5 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::ScopedResource(int) [function] [call site] 00005
4 perfetto::base::GetSysTempDir() [function] [call site] 00006
5 getenv [call site] 00007
5 perfetto::base::StripSuffix(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00008
6 perfetto::base::EndsWith(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00009
4 mkstemp64 [call site] 00010
4 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::reset(int) [function] [call site] 00011
5 perfetto::base::internal::DefaultValidityChecker<int, -1>::IsValid(int) [function] [call site] 00012
5 perfetto::base::CloseFile(int) [function] [call site] 00013
6 close [call site] 00014
5 perfetto::base::Basename(char const*) [function] [call site] 00015
6 perfetto::base::StrEnd(char const*) [function] [call site] 00016
7 perfetto::base::StrEnd(char const*) [function] [call site] 00017
6 perfetto::base::BasenameRecursive(char const*, char const*, char const*) [function] [call site] 00018
7 perfetto::base::BasenameRecursive(char const*, char const*, char const*) [function] [call site] 00019
5 __errno_location [call site] 00020
5 strerror [call site] 00021
5 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00022
6 vsnprintf [call site] 00023
6 snprintf [call site] 00024
6 __cxa_guard_acquire [call site] 00025
6 isatty [call site] 00026
6 __cxa_guard_release [call site] 00027
6 perfetto::base::StackString<10ul>::StackString(char const*, ...) [function] [call site] 00028
7 vsnprintf [call site] 00029
6 strlen [call site] 00030
6 perfetto::base::StackString<10ul>::len() const [function] [call site] 00031
6 perfetto::base::StackString<10ul>::c_str() const [function] [call site] 00032
6 perfetto::base::StackString<24ul>::StackString(char const*, ...) [function] [call site] 00033
6 perfetto::base::GetWallTimeMs() [function] [call site] 00034
7 perfetto::base::GetWallTimeNs() [function] [call site] 00035
8 perfetto::base::GetTimeInternalNs(int) [function] [call site] 00036
9 clock_gettime [call site] 00037
9 perfetto::base::Basename(char const*) [function] [call site] 00038
9 __errno_location [call site] 00039
9 strerror [call site] 00040
9 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00041
10 perfetto::base::StackString<32ul>::StackString(char const*, ...) [function] [call site] 00042
10 perfetto::base::StackString<32ul>::c_str() const [function] [call site] 00043
10 perfetto::base::StackString<24ul>::c_str() const [function] [call site] 00044
10 fprintf [call site] 00045
10 perfetto::base::StackString<32ul>::c_str() const [function] [call site] 00046
10 perfetto::base::StackString<24ul>::c_str() const [function] [call site] 00047
10 fprintf [call site] 00048
10 perfetto::base::StackString<32ul>::string_view() const [function] [call site] 00049
11 perfetto::base::StringView::StringView(char const*, unsigned long) [function] [call site] 00050
10 perfetto::base::StackString<24ul>::string_view() const [function] [call site] 00051
10 perfetto::base::StringView::StringView(char const*, unsigned long) [function] [call site] 00052
10 perfetto::base::LogRingBuffer::Append(perfetto::base::StringView, perfetto::base::StringView, perfetto::base::StringView) [function] [call site] 00053
11 perfetto::base::StringView::size() const [function] [call site] 00054
11 perfetto::base::StringView::data() const [function] [call site] 00055
11 perfetto::base::StringView::size() const [function] [call site] 00056
11 perfetto::base::StringView::data() const [function] [call site] 00057
11 perfetto::base::StringView::size() const [function] [call site] 00058
11 perfetto::base::StringView::data() const [function] [call site] 00059
11 snprintf [call site] 00060
9 perfetto::base::MaybeSerializeLastLogsForCrashReporting() [function] [call site] 00061
10 perfetto::base::SerializeCrashKeys(char*, unsigned long) [function] [call site] 00062
11 perfetto::base::CrashKey::ToString(char*, unsigned long) [function] [call site] 00063
12 perfetto::base::SprintfTrunc(char*, unsigned long, char const*, ...) [function] [call site] 00064
13 vsnprintf [call site] 00065
12 perfetto::base::SprintfTrunc(char*, unsigned long, char const*, ...) [function] [call site] 00066
10 perfetto::base::LogRingBuffer::Read(char*, unsigned long) [function] [call site] 00067
10 fputs [call site] 00068
10 fputs [call site] 00069
10 fputs [call site] 00070
9 perfetto::base::FromPosixTimespec(timespec const&) [function] [call site] 00071
5 perfetto::base::MaybeSerializeLastLogsForCrashReporting() [function] [call site] 00072
4 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::operator bool() const [function] [call site] 00073
5 perfetto::base::internal::DefaultValidityChecker<int, -1>::IsValid(int) [function] [call site] 00074
4 perfetto::base::Basename(char const*) [function] [call site] 00075
4 __errno_location [call site] 00076
4 strerror [call site] 00077
4 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00078
4 perfetto::base::MaybeSerializeLastLogsForCrashReporting() [function] [call site] 00079
4 perfetto::base::TempFile::~TempFile() [function] [call site] 00080
5 perfetto::base::TempFile::Unlink() [function] [call site] 00081
6 unlink [call site] 00082
6 perfetto::base::Basename(char const*) [function] [call site] 00083
6 __errno_location [call site] 00084
6 strerror [call site] 00085
6 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00086
6 perfetto::base::MaybeSerializeLastLogsForCrashReporting() [function] [call site] 00087
5 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::~ScopedResource() [function] [call site] 00088
6 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::reset(int) [function] [call site] 00089
3 perfetto::base::TempFile::Unlink() [function] [call site] 00090
3 perfetto::base::TempFile::~TempFile() [function] [call site] 00091
2 perfetto::base::TempFile::ReleaseFD() [function] [call site] 00092
3 perfetto::base::TempFile::Unlink() [function] [call site] 00093
3 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::ScopedResource(perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >&&) [function] [call site] 00094
2 perfetto::base::TempFile::~TempFile() [function] [call site] 00095
2 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::operator bool() const [function] [call site] 00096
2 perfetto::base::Basename(char const*) [function] [call site] 00097
2 __errno_location [call site] 00098
2 strerror [call site] 00099
2 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00100
2 perfetto::base::MaybeSerializeLastLogsForCrashReporting() [function] [call site] 00101
2 perfetto::base::GetSysPageSize() [function] [call site] 00102
3 perfetto::base::internal::GetSysPageSizeSlowpath() [function] [call site] 00103
4 getpagesize [call site] 00104
4 perfetto::base::Basename(char const*) [function] [call site] 00105
4 __errno_location [call site] 00106
4 strerror [call site] 00107
4 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00108
4 perfetto::base::MaybeSerializeLastLogsForCrashReporting() [function] [call site] 00109
2 perfetto::profiling::(anonymous namespace)::RoundToPow2(unsigned long) [function] [call site] 00110
2 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::operator*() const [function] [call site] 00111
2 perfetto::base::GetSysPageSize() [function] [call site] 00112
2 ftruncate64 [call site] 00113
2 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::operator*() const [function] [call site] 00114
2 perfetto::base::WriteAll(int, void const*, unsigned long) [function] [call site] 00115
3 perfetto::base::platform::BeforeMaybeBlockingSyscall() [function] [call site] 00116
3 perfetto::base::WriteAll(int, void const*, unsigned long)::$_0::operator()() const [function] [call site] 00117
4 write [call site] 00118
4 __errno_location [call site] 00119
3 perfetto::base::platform::AfterMaybeBlockingSyscall() [function] [call site] 00120
2 perfetto::base::Basename(char const*) [function] [call site] 00121
2 __errno_location [call site] 00122
2 strerror [call site] 00123
2 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00124
2 perfetto::base::MaybeSerializeLastLogsForCrashReporting() [function] [call site] 00125
2 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::operator*() const [function] [call site] 00126
2 perfetto::base::GetSysPageSize() [function] [call site] 00127
2 lseek64 [call site] 00128
2 perfetto::base::Basename(char const*) [function] [call site] 00129
2 __errno_location [call site] 00130
2 strerror [call site] 00131
2 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00132
2 perfetto::base::MaybeSerializeLastLogsForCrashReporting() [function] [call site] 00133
2 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::operator*() const [function] [call site] 00134
2 perfetto::base::WriteAll(int, void const*, unsigned long) [function] [call site] 00135
2 perfetto::base::Basename(char const*) [function] [call site] 00136
2 __errno_location [call site] 00137
2 strerror [call site] 00138
2 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00139
2 perfetto::base::MaybeSerializeLastLogsForCrashReporting() [function] [call site] 00140
2 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::ScopedResource(perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >&&) [function] [call site] 00141
2 perfetto::profiling::SharedRingBuffer::Attach(perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >) [function] [call site] 00142
3 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::ScopedResource(perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >&&) [function] [call site] 00143
3 perfetto::profiling::SharedRingBuffer::SharedRingBuffer(perfetto::profiling::SharedRingBuffer::AttachFlag, perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >) [function] [call site] 00144
4 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::ScopedResource(int) [function] [call site] 00145
4 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::ScopedResource(perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >&&) [function] [call site] 00146
4 perfetto::profiling::SharedRingBuffer::Initialize(perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >) [function] [call site] 00147
5 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::operator*() const [function] [call site] 00148
5 fstat64 [call site] 00149
5 perfetto::base::Basename(char const*) [function] [call site] 00150
5 __errno_location [call site] 00151
5 strerror [call site] 00152
5 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00153
5 perfetto::profiling::(anonymous namespace)::meta_page_size() [function] [call site] 00154
6 perfetto::base::GetSysPageSize() [function] [call site] 00155
5 perfetto::base::GetSysPageSize() [function] [call site] 00156
5 perfetto::base::GetSysPageSize() [function] [call site] 00157
5 perfetto::base::Basename(char const*) [function] [call site] 00158
5 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00159
5 perfetto::profiling::(anonymous namespace)::meta_page_size() [function] [call site] 00160
5 mmap64 [call site] 00161
5 perfetto::base::Basename(char const*) [function] [call site] 00162
5 __errno_location [call site] 00163
5 strerror [call site] 00164
5 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00165
5 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::operator*() const [function] [call site] 00166
5 mmap64 [call site] 00167
5 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::operator*() const [function] [call site] 00168
5 perfetto::profiling::(anonymous namespace)::meta_page_size() [function] [call site] 00169
5 mmap64 [call site] 00170
5 perfetto::base::Basename(char const*) [function] [call site] 00171
5 __errno_location [call site] 00172
5 strerror [call site] 00173
5 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00174
5 munmap [call site] 00175
5 perfetto::profiling::SharedRingBuffer::set_size(unsigned long) [function] [call site] 00176
5 perfetto::profiling::(anonymous namespace)::meta_page_size() [function] [call site] 00177
5 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::operator=(perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >&&) [function] [call site] 00178
6 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::reset(int) [function] [call site] 00179
4 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::~ScopedResource() [function] [call site] 00180
3 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::~ScopedResource() [function] [call site] 00181
3 perfetto::profiling::SharedRingBuffer::is_valid() const [function] [call site] 00182
3 perfetto::profiling::SharedRingBuffer::~SharedRingBuffer() [function] [call site] 00183
4 perfetto::profiling::SharedRingBuffer::is_valid() const [function] [call site] 00184
4 perfetto::profiling::(anonymous namespace)::meta_page_size() [function] [call site] 00185
4 munmap [call site] 00186
4 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::release() [function] [call site] 00187
4 close [call site] 00188
4 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::~ScopedResource() [function] [call site] 00189
2 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::~ScopedResource() [function] [call site] 00190
2 perfetto::base::Basename(char const*) [function] [call site] 00191
2 __errno_location [call site] 00192
2 strerror [call site] 00193
2 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00194
2 perfetto::base::MaybeSerializeLastLogsForCrashReporting() [function] [call site] 00195
2 perfetto::profiling::SharedRingBuffer::Buffer::Buffer() [function] [call site] 00196
2 perfetto::profiling::SharedRingBuffer::AcquireLock(perfetto::profiling::ScopedSpinlock::Mode) [function] [call site] 00197
3 perfetto::profiling::ScopedSpinlock::ScopedSpinlock(perfetto::profiling::Spinlock*, perfetto::profiling::ScopedSpinlock::Mode) [function] [call site] 00198
4 perfetto::profiling::ScopedSpinlock::LockSlow(perfetto::profiling::ScopedSpinlock::Mode) [function] [call site] 00199
5 usleep [call site] 00200
3 perfetto::profiling::ScopedSpinlock::locked() const [function] [call site] 00201
3 perfetto::profiling::ScopedSpinlock::~ScopedSpinlock() [function] [call site] 00202
4 perfetto::profiling::ScopedSpinlock::Unlock() [function] [call site] 00203
2 perfetto::profiling::ScopedSpinlock::locked() const [function] [call site] 00204
2 perfetto::base::Basename(char const*) [function] [call site] 00205
2 __errno_location [call site] 00206
2 strerror [call site] 00207
2 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00208
2 perfetto::base::MaybeSerializeLastLogsForCrashReporting() [function] [call site] 00209
2 perfetto::profiling::SharedRingBuffer::BeginWrite(perfetto::profiling::ScopedSpinlock const&, unsigned long) [function] [call site] 00210
3 perfetto::profiling::SharedRingBuffer::Buffer::Buffer() [function] [call site] 00211
3 perfetto::profiling::SharedRingBuffer::GetPointerPositions() [function] [call site] 00212
4 perfetto::profiling::SharedRingBuffer::IsCorrupt(perfetto::profiling::SharedRingBuffer::PointerPositions const&) [function] [call site] 00213
5 perfetto::base::Basename(char const*) [function] [call site] 00214
5 perfetto::base::LogMessage(perfetto::base::LogLev, char const*, int, char const*, ...) [function] [call site] 00215
3 __errno_location [call site] 00216
3 std::__1::optional<perfetto::profiling::SharedRingBuffer::PointerPositions>::value[abi:nn180100]() & [function] [call site] 00217
4 std::__1::__optional_storage_base<perfetto::profiling::SharedRingBuffer::PointerPositions, false>::__get[abi:nn180100]() & [function] [call site] 00218
3 unsigned long perfetto::base::AlignUp<8ul>(unsigned long) [function] [call site] 00219
4 perfetto::base::AlignUp(unsigned long, unsigned long) [function] [call site] 00220
3 __errno_location [call site] 00221
3 perfetto::profiling::SharedRingBuffer::write_avail(perfetto::profiling::SharedRingBuffer::PointerPositions const&) [function] [call site] 00222
4 perfetto::profiling::SharedRingBuffer::read_avail(perfetto::profiling::SharedRingBuffer::PointerPositions const&) [function] [call site] 00223
3 __errno_location [call site] 00224
3 perfetto::profiling::SharedRingBuffer::at(unsigned long) [function] [call site] 00225
3 perfetto::profiling::SharedRingBuffer::write_avail(perfetto::profiling::SharedRingBuffer::PointerPositions const&) [function] [call site] 00226
2 perfetto::profiling::ScopedSpinlock::~ScopedSpinlock() [function] [call site] 00227
2 perfetto::profiling::SharedRingBuffer::Buffer::operator bool() const [function] [call site] 00228
2 perfetto::profiling::SharedRingBuffer::EndWrite(perfetto::profiling::SharedRingBuffer::Buffer) [function] [call site] 00229
3 perfetto::profiling::SharedRingBuffer::Buffer::operator bool() const [function] [call site] 00230
2 perfetto::base::ScopedResource<int, &perfetto::base::CloseFile, -1, true, perfetto::base::internal::DefaultValidityChecker<int, -1> >::~ScopedResource() [function] [call site] 00231