Fuzz introspector: fuzz_grammar
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
11 26 llama_grammar_parser::parse_sequence(char const*, std::__1::basic_string , std::__1::allocator > const&, std::__1::vector >&, bool) call site: 00026 __cxa_allocate_exception
5 38 parse_char(char const*) call site: 00038 __cxa_allocate_exception
5 50 llama_grammar_parser::parse_sequence(char const*, std::__1::basic_string , std::__1::allocator > const&, std::__1::vector >&, bool) call site: 00050 __cxa_allocate_exception
4 92 parse_int(char const*) call site: 00092 __cxa_allocate_exception
1 109 llama_grammar_parser::parse_sequence(char const*, std::__1::basic_string , std::__1::allocator > const&, std::__1::vector >&, bool) call site: 00109

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 llama_grammar_parser::llama_grammar_parser() [function] [call site] 00001
1 llama_grammar_parser::parse(char const*) [function] [call site] 00002
2 parse_space(char const*, bool) [function] [call site] 00003
2 llama_grammar_parser::parse_rule(char const*) [function] [call site] 00004
3 parse_name(char const*) [function] [call site] 00005
4 is_word_char(char) [function] [call site] 00006
5 is_digit_char(char) [function] [call site] 00007
4 __cxa_allocate_exception [call site] 00008
4 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00009
4 __cxa_throw [call site] 00010
4 __cxa_free_exception [call site] 00011
3 parse_space(char const*, bool) [function] [call site] 00012
3 llama_grammar_parser::get_symbol_id(char const*, unsigned long) [function] [call site] 00013
3 __cxa_allocate_exception [call site] 00014
3 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00015
3 __cxa_throw [call site] 00016
3 __cxa_free_exception [call site] 00017
3 parse_space(char const*, bool) [function] [call site] 00018
3 llama_grammar_parser::parse_alternates(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, bool) [function] [call site] 00019
4 llama_grammar_parser::parse_sequence(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<llama_grammar_element, std::__1::allocator<llama_grammar_element> >&, bool) [function] [call site] 00020
5 __cxa_allocate_exception [call site] 00021
5 std::runtime_error::runtime_error(char const*) [call site] 00022
5 __cxa_throw [call site] 00023
5 std::runtime_error::~runtime_error() [call site] 00024
5 __cxa_free_exception [call site] 00025
5 parse_char(char const*) [function] [call site] 00026
6 parse_hex(char const*, int) [function] [call site] 00027
7 __cxa_allocate_exception [call site] 00028
7 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00029
7 __cxa_throw [call site] 00030
7 __cxa_free_exception [call site] 00031
6 parse_hex(char const*, int) [function] [call site] 00032
6 parse_hex(char const*, int) [function] [call site] 00033
6 __cxa_allocate_exception [call site] 00034
6 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00035
6 __cxa_throw [call site] 00036
6 __cxa_free_exception [call site] 00037
6 decode_utf8(char const*) [function] [call site] 00038
6 __cxa_allocate_exception [call site] 00039
6 std::runtime_error::runtime_error(char const*) [call site] 00040
6 __cxa_throw [call site] 00041
6 std::runtime_error::~runtime_error() [call site] 00042
6 __cxa_free_exception [call site] 00043
5 parse_space(char const*, bool) [function] [call site] 00044
5 __cxa_allocate_exception [call site] 00045
5 std::runtime_error::runtime_error(char const*) [call site] 00046
5 __cxa_throw [call site] 00047
5 std::runtime_error::~runtime_error() [call site] 00048
5 __cxa_free_exception [call site] 00049
5 parse_char(char const*) [function] [call site] 00050
5 __cxa_allocate_exception [call site] 00051
5 std::runtime_error::runtime_error(char const*) [call site] 00052
5 __cxa_throw [call site] 00053
5 std::runtime_error::~runtime_error() [call site] 00054
5 __cxa_free_exception [call site] 00055
5 parse_char(char const*) [function] [call site] 00056
5 parse_space(char const*, bool) [function] [call site] 00057
5 is_word_char(char) [function] [call site] 00058
5 parse_name(char const*) [function] [call site] 00059
5 llama_grammar_parser::get_symbol_id(char const*, unsigned long) [function] [call site] 00060
5 parse_space(char const*, bool) [function] [call site] 00061
5 parse_space(char const*, bool) [function] [call site] 00062
5 llama_grammar_parser::generate_symbol_id(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00063
5 llama_grammar_parser::parse_alternates(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, bool) [function] [call site] 00064
6 parse_space(char const*, bool) [function] [call site] 00065
6 llama_grammar_parser::parse_sequence(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<llama_grammar_element, std::__1::allocator<llama_grammar_element> >&, bool) [function] [call site] 00066
7 __cxa_allocate_exception [call site] 00067
7 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00068
7 __cxa_throw [call site] 00069
7 __cxa_free_exception [call site] 00070
7 parse_space(char const*, bool) [function] [call site] 00071
7 parse_space(char const*, bool) [function] [call site] 00072
7 parse_space(char const*, bool) [function] [call site] 00073
7 llama_grammar_parser::parse_sequence(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<llama_grammar_element, std::__1::allocator<llama_grammar_element> >&, bool)::$_0::operator()(unsigned long, unsigned long) const [function] [call site] 00074
8 __cxa_allocate_exception [call site] 00075
8 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00076
8 __cxa_throw [call site] 00077
8 __cxa_free_exception [call site] 00078
8 llama_grammar_parser::generate_symbol_id(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00079
8 llama_grammar_parser::add_rule(unsigned int, std::__1::vector<llama_grammar_element, std::__1::allocator<llama_grammar_element> > const&) [function] [call site] 00080
7 parse_space(char const*, bool) [function] [call site] 00081
7 llama_grammar_parser::parse_sequence(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<llama_grammar_element, std::__1::allocator<llama_grammar_element> >&, bool)::$_0::operator()(unsigned long, unsigned long) const [function] [call site] 00082
7 parse_space(char const*, bool) [function] [call site] 00083
7 llama_grammar_parser::parse_sequence(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<llama_grammar_element, std::__1::allocator<llama_grammar_element> >&, bool)::$_0::operator()(unsigned long, unsigned long) const [function] [call site] 00084
7 parse_space(char const*, bool) [function] [call site] 00085
7 is_digit_char(char) [function] [call site] 00086
7 __cxa_allocate_exception [call site] 00087
7 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00088
7 __cxa_throw [call site] 00089
7 __cxa_free_exception [call site] 00090
7 parse_int(char const*) [function] [call site] 00091
8 is_digit_char(char) [function] [call site] 00092
8 __cxa_allocate_exception [call site] 00093
8 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00094
8 __cxa_throw [call site] 00095
8 __cxa_free_exception [call site] 00096
7 parse_space(char const*, bool) [function] [call site] 00097
7 parse_space(char const*, bool) [function] [call site] 00098
7 is_digit_char(char) [function] [call site] 00099
7 parse_int(char const*) [function] [call site] 00100
7 parse_space(char const*, bool) [function] [call site] 00101
7 __cxa_allocate_exception [call site] 00102
7 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00103
7 __cxa_throw [call site] 00104
7 __cxa_free_exception [call site] 00105
7 __cxa_allocate_exception [call site] 00106
7 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00107
7 __cxa_throw [call site] 00108
7 __cxa_free_exception [call site] 00109
7 parse_space(char const*, bool) [function] [call site] 00110
7 llama_grammar_parser::parse_sequence(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<llama_grammar_element, std::__1::allocator<llama_grammar_element> >&, bool)::$_0::operator()(unsigned long, unsigned long) const [function] [call site] 00111
7 __cxa_allocate_exception [call site] 00112
7 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00113
7 __cxa_throw [call site] 00114
7 __cxa_free_exception [call site] 00115
6 llama_grammar_parser::add_rule(unsigned int, std::__1::vector<llama_grammar_element, std::__1::allocator<llama_grammar_element> > const&) [function] [call site] 00116
3 __cxa_allocate_exception [call site] 00117
3 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00118
3 __cxa_throw [call site] 00119
3 __cxa_free_exception [call site] 00120
3 parse_space(char const*, bool) [function] [call site] 00121
2 __cxa_allocate_exception [call site] 00122
2 std::runtime_error::runtime_error(char const*) [call site] 00123
2 __cxa_throw [call site] 00124
2 __cxa_free_exception [call site] 00125
2 __cxa_allocate_exception [call site] 00126
2 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00127
2 __cxa_throw [call site] 00128
2 __cxa_free_exception [call site] 00129
2 __cxa_begin_catch [call site] 00130
2 fprintf [call site] 00131
2 __cxa_end_catch [call site] 00132
1 llama_grammar_parser::~llama_grammar_parser() [function] [call site] 00133