Fuzz introspector: backtrace_fuzzer
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
996 996 6 :

['spdlog::details::fmt_helper::pad2(int, fmt::v9::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING::operator fmt::v9::basic_string_view () const', 'fmt::v9::format_arg_store , std::__1::remove_cv ::type>::type> fmt::v9::make_format_args , int&>(int&)', 'void fmt::v9::detail::check_format_string >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING, 0>(spdlog::details::fmt_helper::pad2(int, fmt::v9::basic_memory_buffer >&)::{lambda()#1}::operator()() const::FMT_COMPILE_STRING)', 'spdlog::details::fmt_helper::pad2(int, fmt::v9::basic_memory_buffer >&)::{lambda()#1}::operator()() const', 'std::__1::back_insert_iterator > > std::__1::back_inserter > >(fmt::v9::basic_memory_buffer >&)', 'std::__1::back_insert_iterator > > fmt::v9::vformat_to > >, 0>(std::__1::back_insert_iterator > >, fmt::v9::basic_string_view , fmt::v9::basic_format_args >)']

996 996 spdlog::details::fmt_helper::pad2(int,fmt::v9::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:98
21 21 1 :

['void spdlog::details::fmt_helper::append_int (unsigned int, fmt::v9::basic_memory_buffer >&)']

21 21 voidspdlog::details::fmt_helper::pad3 (unsignedint,fmt::v9::basic_memory_buffer >&) call site: 00000 /src/spdlog/include/spdlog/details/fmt_helper.h:124
13 13 4 :

['std::__1::basic_string , std::__1::allocator >::~basic_string()', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+ , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, char const*)', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+ , std::__1::allocator >(char const*, std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::throw_spdlog_ex(std::__1::basic_string , std::__1::allocator >)']

13 13 spdlog::details::registry::throw_if_exists_(std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:301
4 10 7 :

['std::__1::basic_string , std::__1::allocator >::~basic_string()', 'std::__1::basic_string , std::__1::allocator >::size() const', 'std::__1::basic_string , std::__1::allocator >::substr(unsigned long, unsigned long) const', 'spdlog::details::os::path_exists(std::__1::basic_string , std::__1::allocator > const&)', 'spdlog::details::os::mkdir_(std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::basic_string , std::__1::allocator >::find_first_of(char const*, unsigned long) const', 'std::__1::basic_string , std::__1::allocator >::empty() const']

4 10 spdlog::details::os::create_dir(std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/spdlog/include/spdlog/details/os-inl.h:557
4 4 1 :

['spdlog::details::os::gmtime(long const&)']

4 4 spdlog::pattern_formatter::get_time_(spdlog::details::log_msgconst&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1097
2 2 3 :

['std::__1::function , std::__1::allocator > const&)>::function(std::__1::function , std::__1::allocator > const&)> const&)', 'spdlog::logger::set_error_handler(std::__1::function , std::__1::allocator > const&)>)', 'std::__1::function , std::__1::allocator > const&)>::~function()']

2 46 spdlog::details::registry::initialize_logger(std::__1::shared_ptr ) call site: 00000 /src/spdlog/include/spdlog/details/registry-inl.h:65
2 2 6 :

['std::__1::__hash_map_iterator > >, void*>*> >::operator->() const', 'std::__1::unique_ptr >::~unique_ptr()', 'std::__1::unique_ptr >::unique_ptr , void, void>(std::__1::unique_ptr >&&)', 'spdlog::custom_flag_formatter::set_padding_info(spdlog::details::padding_info const&)', 'std::__1::unique_ptr >::operator->() const', 'std::__1::remove_reference >&>::type&& std::__1::move >&>(std::__1::unique_ptr >&)']

2 2 voidspdlog::pattern_formatter::handle_flag_ (char,spdlog::details::padding_info) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1109
0 0 None 320 644 spdlog::pattern_formatter::compile_pattern_(std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1397
0 0 None 320 644 spdlog::pattern_formatter::compile_pattern_(std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1399
0 0 None 320 644 spdlog::pattern_formatter::compile_pattern_(std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/spdlog/include/spdlog/pattern_formatter-inl.h:1408
0 0 None 260 287 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:48
0 0 None 260 287 spdlog::details::file_helper::open(std::__1::basic_string ,std::__1::allocator >const&,bool) call site: 00000 /src/spdlog/include/spdlog/details/file_helper-inl.h:61

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 __cxa_guard_acquire [call site] 00001
1 spdlog::file_event_handlers::file_event_handlers() [function] [call site] 00002
1 std::__1::shared_ptr spdlog::basic_logger_mt (std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&, bool, spdlog::file_event_handlers const&) [function] [call site] 00003
2 std::__1::shared_ptr spdlog::synchronous_factory::create , std::__1::basic_string , std::__1::allocator > const&, bool&, spdlog::file_event_handlers const&>(std::__1::basic_string , std::__1::allocator >, std::__1::basic_string , std::__1::allocator > const&, bool&, spdlog::file_event_handlers const&) [function] [call site] 00004
3 spdlog::details::registry::instance() [function] [call site] 00005
4 __cxa_guard_acquire [call site] 00006
4 spdlog::details::registry::registry() [function] [call site] 00007
5 spdlog::pattern_formatter::pattern_formatter(spdlog::pattern_time_type, std::__1::basic_string , std::__1::allocator >) [function] [call site] 00008
6 spdlog::formatter::formatter() [function] [call site] 00009
6 spdlog::details::padding_info::padding_info() [function] [call site] 00010
6 std::__1::unique_ptr > spdlog::details::make_unique (spdlog::details::padding_info&&) [function] [call site] 00011
7 spdlog::details::full_formatter::full_formatter(spdlog::details::padding_info) [function] [call site] 00012
8 spdlog::details::flag_formatter::flag_formatter(spdlog::details::padding_info) [function] [call site] 00013
8 fmt::v9::basic_memory_buffer >::basic_memory_buffer(std::__1::allocator const&) [function] [call site] 00014
9 fmt::v9::detail::buffer ::buffer(char*, unsigned long, unsigned long) [function] [call site] 00015
9 fmt::v9::detail::buffer ::set(char*, unsigned long) [function] [call site] 00016
6 spdlog::formatter::~formatter() [function] [call site] 00017
1 spdlog::set_default_logger(std::__1::shared_ptr ) [function] [call site] 00018
2 spdlog::details::registry::instance() [function] [call site] 00019
1 spdlog::enable_backtrace(unsigned long) [function] [call site] 00020
2 spdlog::details::registry::instance() [function] [call site] 00021
1 spdlog::dump_backtrace() [function] [call site] 00022
2 spdlog::default_logger_raw() [function] [call site] 00023
3 spdlog::details::registry::instance() [function] [call site] 00024
2 spdlog::logger::dump_backtrace() [function] [call site] 00025
3 spdlog::logger::dump_backtrace_() [function] [call site] 00026
4 spdlog::details::backtracer::enabled() const [function] [call site] 00027
4 spdlog::logger::name() const [function] [call site] 00028
4 fmt::v9::basic_string_view ::basic_string_view , std::__1::allocator >(std::__1::basic_string , std::__1::allocator > const&) [function] [call site] 00029
4 spdlog::details::log_msg::log_msg(fmt::v9::basic_string_view , spdlog::level::level_enum, fmt::v9::basic_string_view ) [function] [call site] 00030
5 spdlog::details::os::now() [function] [call site] 00031
5 spdlog::source_loc::source_loc() [function] [call site] 00032
5 spdlog::details::log_msg::log_msg(std::__1::chrono::time_point > >, spdlog::source_loc, fmt::v9::basic_string_view , spdlog::level::level_enum, fmt::v9::basic_string_view ) [function] [call site] 00033
6 spdlog::details::os::thread_id() [function] [call site] 00034
7 spdlog::details::os::_thread_id() [function] [call site] 00035
8 syscall [call site] 00036
4 spdlog::details::backtracer::foreach_pop(std::__1::function ) [function] [call site] 00037
5 spdlog::details::circular_q ::empty() const [function] [call site] 00038
5 spdlog::details::circular_q ::front() [function] [call site] 00039
5 spdlog::details::circular_q ::pop_front() [function] [call site] 00040
4 spdlog::logger::name() const [function] [call site] 00041
4 fmt::v9::basic_string_view ::basic_string_view , std::__1::allocator >(std::__1::basic_string , std::__1::allocator > const&) [function] [call site] 00042
4 spdlog::details::log_msg::log_msg(fmt::v9::basic_string_view , spdlog::level::level_enum, fmt::v9::basic_string_view ) [function] [call site] 00043
1 void spdlog::debug , std::__1::allocator > >(std::__1::basic_string , std::__1::allocator > const&) [function] [call site] 00044
2 spdlog::default_logger_raw() [function] [call site] 00045
2 void spdlog::logger::debug , std::__1::allocator > >(std::__1::basic_string , std::__1::allocator > const&) [function] [call site] 00046
3 void spdlog::logger::log , std::__1::allocator > >(spdlog::level::level_enum, std::__1::basic_string , std::__1::allocator > const&) [function] [call site] 00047
4 spdlog::source_loc::source_loc() [function] [call site] 00048
4 fmt::v9::basic_string_view ::basic_string_view , std::__1::allocator >(std::__1::basic_string , std::__1::allocator > const&) [function] [call site] 00049
4 spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v9::basic_string_view ) [function] [call site] 00050
5 spdlog::logger::should_log(spdlog::level::level_enum) const [function] [call site] 00051
5 spdlog::details::backtracer::enabled() const [function] [call site] 00052
5 fmt::v9::basic_string_view ::basic_string_view , std::__1::allocator >(std::__1::basic_string , std::__1::allocator > const&) [function] [call site] 00053
5 spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v9::basic_string_view , spdlog::level::level_enum, fmt::v9::basic_string_view ) [function] [call site] 00054
6 spdlog::details::os::now() [function] [call site] 00055
6 spdlog::details::log_msg::log_msg(std::__1::chrono::time_point > >, spdlog::source_loc, fmt::v9::basic_string_view , spdlog::level::level_enum, fmt::v9::basic_string_view ) [function] [call site] 00056
5 spdlog::logger::log_it_(spdlog::details::log_msg const&, bool, bool) [function] [call site] 00057
6 spdlog::details::backtracer::push_back(spdlog::details::log_msg const&) [function] [call site] 00058
7 spdlog::details::log_msg_buffer::log_msg_buffer(spdlog::details::log_msg const&) [function] [call site] 00059
8 fmt::v9::basic_memory_buffer >::basic_memory_buffer(std::__1::allocator const&) [function] [call site] 00060
8 fmt::v9::basic_string_view ::begin() const [function] [call site] 00061
8 void fmt::v9::detail::buffer ::append (char const*, char const*) [function] [call site] 00062
9 std::__1::make_unsigned ::type fmt::v9::detail::to_unsigned (long) [function] [call site] 00063
10 fmt::v9::detail::assert_fail(char const*, int, char const*) [function] [call site] 00064
11 fprintf [call site] 00065
9 fmt::v9::detail::buffer ::try_reserve(unsigned long) [function] [call site] 00066
9 char* fmt::v9::detail::make_checked (char*, unsigned long) [function] [call site] 00067
8 fmt::v9::basic_string_view ::begin() const [function] [call site] 00068
8 void fmt::v9::detail::buffer ::append (char const*, char const*) [function] [call site] 00069
8 spdlog::details::log_msg_buffer::update_string_views() [function] [call site] 00070
9 fmt::v9::detail::buffer ::data() [function] [call site] 00071
9 fmt::v9::detail::buffer ::data() [function] [call site] 00072
8 fmt::v9::basic_memory_buffer >::~basic_memory_buffer() [function] [call site] 00073
9 fmt::v9::basic_memory_buffer >::deallocate() [function] [call site] 00074
10 fmt::v9::detail::buffer ::data() [function] [call site] 00075
10 fmt::v9::detail::buffer ::capacity() const [function] [call site] 00076
7 spdlog::details::circular_q ::push_back(spdlog::details::log_msg_buffer&&) [function] [call site] 00077
8 spdlog::details::log_msg_buffer::operator=(spdlog::details::log_msg_buffer&&) [function] [call site] 00078
9 fmt::v9::basic_memory_buffer >::operator=(fmt::v9::basic_memory_buffer >&&) [function] [call site] 00079
10 fmt::v9::detail::assert_fail(char const*, int, char const*) [function] [call site] 00080
10 fmt::v9::basic_memory_buffer >::deallocate() [function] [call site] 00081
10 fmt::v9::basic_memory_buffer >::move(fmt::v9::basic_memory_buffer >&) [function] [call site] 00082
11 fmt::v9::detail::buffer ::data() [function] [call site] 00083
11 fmt::v9::detail::buffer ::size() const [function] [call site] 00084
11 fmt::v9::detail::buffer ::set(char*, unsigned long) [function] [call site] 00085
11 char* fmt::v9::detail::make_checked (char*, unsigned long) [function] [call site] 00086
11 char* fmt::v9::detail::copy_str (char*, char*, char*) [function] [call site] 00087
11 fmt::v9::detail::buffer ::set(char*, unsigned long) [function] [call site] 00088
11 fmt::v9::detail::buffer ::set(char*, unsigned long) [function] [call site] 00089
11 fmt::v9::detail::buffer ::clear() [function] [call site] 00090
11 fmt::v9::basic_memory_buffer >::resize(unsigned long) [function] [call site] 00091
12 fmt::v9::detail::buffer ::try_resize(unsigned long) [function] [call site] 00092
13 fmt::v9::detail::buffer ::try_reserve(unsigned long) [function] [call site] 00093
10 __clang_call_terminate [call site] 00094
11 __cxa_begin_catch [call site] 00095
9 spdlog::details::log_msg_buffer::update_string_views() [function] [call site] 00096
7 spdlog::details::log_msg_buffer::~log_msg_buffer() [function] [call site] 00097
8 fmt::v9::basic_memory_buffer >::~basic_memory_buffer() [function] [call site] 00098