Fuzz introspector: terminal_parser_fuzzer
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
131 0 EP call site: 00000 __ctype_get_mb_cur_max

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 Parser::UTF8Parser::UTF8Parser() [function] [call site] 00001
2 Parser::Parser::Parser() [function] [call site] 00002
2 __ctype_get_mb_cur_max [call site] 00003
2 __assert_fail [call site] 00004
1 std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::vector() [function] [call site] 00005
2 std::_Vector_base<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_Vector_base() [function] [call site] 00006
3 std::_Vector_base<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_Vector_impl::_Vector_impl() [function] [call site] 00007
4 std::allocator<std::shared_ptr<Parser::Action> >::allocator() [function] [call site] 00008
5 __gnu_cxx::new_allocator<std::shared_ptr<Parser::Action> >::new_allocator() [function] [call site] 00009
4 std::_Vector_base<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_Vector_impl_data::_Vector_impl_data() [function] [call site] 00010
1 Parser::UTF8Parser::input(char, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >&) [function] [call site] 00011
2 __assert_fail [call site] 00012
2 Parser::Parser::input(wchar_t, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >&) [function] [call site] 00013
3 Parser::State::input(wchar_t) const [function] [call site] 00014
4 Parser::State::anywhere_rule(wchar_t) const [function] [call site] 00015
5 std::shared_ptr<Parser::Action>::shared_ptr<Parser::Execute, void>(std::shared_ptr<Parser::Execute>&&) [function] [call site] 00016
6 std::__shared_ptr<Parser::Action, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<Parser::Execute, void>(std::__shared_ptr<Parser::Execute, (__gnu_cxx::_Lock_policy)2>&&) [function] [call site] 00017
7 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count() [function] [call site] 00018
7 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::_M_swap(std::__shared_count<(__gnu_cxx::_Lock_policy)2>&) [function] [call site] 00019
5 Parser::Transition::Transition(std::shared_ptr<Parser::Action>, Parser::State*) [function] [call site] 00020
6 std::shared_ptr<Parser::Action>::shared_ptr(std::shared_ptr<Parser::Action> const&) [function] [call site] 00021
7 std::__shared_ptr<Parser::Action, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<Parser::Action, (__gnu_cxx::_Lock_policy)2> const&) [function] [call site] 00022
8 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) [function] [call site] 00023
9 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_add_ref_copy() [function] [call site] 00024
10 __gnu_cxx::__atomic_add_dispatch(int*, int) [function] [call site] 00025
11 __gthread_active_p() [function] [call site] 00026
11 __gnu_cxx::__atomic_add(int volatile*, int) [function] [call site] 00027
11 __gnu_cxx::__atomic_add_single(int*, int) [function] [call site] 00028
9 __clang_call_terminate [call site] 00029
10 __cxa_begin_catch [call site] 00030
5 std::shared_ptr<Parser::Action>::~shared_ptr() [function] [call site] 00031
6 std::__shared_ptr<Parser::Action, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() [function] [call site] 00032
7 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() [function] [call site] 00033
8 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() [function] [call site] 00034
9 __gnu_cxx::__exchange_and_add_dispatch(int*, int) [function] [call site] 00035
10 __gthread_active_p() [function] [call site] 00036
10 __gnu_cxx::__exchange_and_add(int volatile*, int) [function] [call site] 00037
10 __gnu_cxx::__exchange_and_add_single(int*, int) [function] [call site] 00038
9 __gnu_cxx::__exchange_and_add_dispatch(int*, int) [function] [call site] 00039
9 __clang_call_terminate [call site] 00040
5 std::shared_ptr<Parser::Execute>::~shared_ptr() [function] [call site] 00041
6 std::__shared_ptr<Parser::Execute, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() [function] [call site] 00042
5 std::shared_ptr<Parser::Action>::shared_ptr<Parser::Ignore, void>(std::shared_ptr<Parser::Ignore>&&) [function] [call site] 00043
6 std::__shared_ptr<Parser::Action, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<Parser::Ignore, void>(std::__shared_ptr<Parser::Ignore, (__gnu_cxx::_Lock_policy)2>&&) [function] [call site] 00044
5 Parser::Transition::Transition(Parser::State*, std::shared_ptr<Parser::Action>) [function] [call site] 00045
6 std::shared_ptr<Parser::Action>::shared_ptr(std::shared_ptr<Parser::Action> const&) [function] [call site] 00046
5 std::shared_ptr<Parser::Action>::~shared_ptr() [function] [call site] 00047
5 std::shared_ptr<Parser::Ignore>::~shared_ptr() [function] [call site] 00048
6 std::__shared_ptr<Parser::Ignore, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() [function] [call site] 00049
5 std::shared_ptr<Parser::Action>::shared_ptr<Parser::Ignore, void>(std::shared_ptr<Parser::Ignore>&&) [function] [call site] 00050
5 Parser::Transition::Transition(Parser::State*, std::shared_ptr<Parser::Action>) [function] [call site] 00051
5 std::shared_ptr<Parser::Action>::~shared_ptr() [function] [call site] 00052
5 std::shared_ptr<Parser::Ignore>::~shared_ptr() [function] [call site] 00053
5 std::shared_ptr<Parser::Action>::shared_ptr<Parser::Ignore, void>(std::shared_ptr<Parser::Ignore>&&) [function] [call site] 00054
5 Parser::Transition::Transition(Parser::State*, std::shared_ptr<Parser::Action>) [function] [call site] 00055
5 std::shared_ptr<Parser::Action>::~shared_ptr() [function] [call site] 00056
5 std::shared_ptr<Parser::Ignore>::~shared_ptr() [function] [call site] 00057
5 std::shared_ptr<Parser::Action>::shared_ptr<Parser::Ignore, void>(std::shared_ptr<Parser::Ignore>&&) [function] [call site] 00058
5 Parser::Transition::Transition(Parser::State*, std::shared_ptr<Parser::Action>) [function] [call site] 00059
5 std::shared_ptr<Parser::Action>::~shared_ptr() [function] [call site] 00060
5 std::shared_ptr<Parser::Ignore>::~shared_ptr() [function] [call site] 00061
5 std::shared_ptr<Parser::Action>::shared_ptr<Parser::Ignore, void>(std::shared_ptr<Parser::Ignore>&&) [function] [call site] 00062
5 Parser::Transition::Transition(Parser::State*, std::shared_ptr<Parser::Action>) [function] [call site] 00063
5 std::shared_ptr<Parser::Action>::~shared_ptr() [function] [call site] 00064
5 std::shared_ptr<Parser::Ignore>::~shared_ptr() [function] [call site] 00065
5 std::shared_ptr<Parser::Action>::shared_ptr<Parser::Ignore, void>(std::shared_ptr<Parser::Ignore>&&) [function] [call site] 00066
5 Parser::Transition::Transition(Parser::State*, std::shared_ptr<Parser::Action>) [function] [call site] 00067
5 std::shared_ptr<Parser::Action>::~shared_ptr() [function] [call site] 00068
5 std::shared_ptr<Parser::Ignore>::~shared_ptr() [function] [call site] 00069
5 std::shared_ptr<Parser::Action>::shared_ptr() [function] [call site] 00070
6 std::__shared_ptr<Parser::Action, (__gnu_cxx::_Lock_policy)2>::__shared_ptr() [function] [call site] 00071
7 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count() [function] [call site] 00072
5 Parser::Transition::Transition(Parser::State*, std::shared_ptr<Parser::Action>) [function] [call site] 00073
5 std::shared_ptr<Parser::Action>::~shared_ptr() [function] [call site] 00074
4 Parser::Transition::Transition(Parser::Transition const&) [function] [call site] 00075
5 std::shared_ptr<Parser::Action>::shared_ptr(std::shared_ptr<Parser::Action> const&) [function] [call site] 00076
4 Parser::Transition::~Transition() [function] [call site] 00077
5 std::shared_ptr<Parser::Action>::~shared_ptr() [function] [call site] 00078
3 append_or_delete(std::shared_ptr<Parser::Action>, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >&) [function] [call site] 00079
4 __assert_fail [call site] 00080
4 std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::push_back(std::shared_ptr<Parser::Action> const&) [function] [call site] 00081
5 void std::allocator_traits<std::allocator<std::shared_ptr<Parser::Action> > >::construct<std::shared_ptr<Parser::Action>, std::shared_ptr<Parser::Action> const&>(std::allocator<std::shared_ptr<Parser::Action> >&, std::shared_ptr<Parser::Action>*, std::shared_ptr<Parser::Action> const&) [function] [call site] 00082
6 void __gnu_cxx::new_allocator<std::shared_ptr<Parser::Action> >::construct<std::shared_ptr<Parser::Action>, std::shared_ptr<Parser::Action> const&>(std::shared_ptr<Parser::Action>*, std::shared_ptr<Parser::Action> const&) [function] [call site] 00083
7 std::shared_ptr<Parser::Action>::shared_ptr(std::shared_ptr<Parser::Action> const&) [function] [call site] 00084
5 std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::end() [function] [call site] 00085
6 __gnu_cxx::__normal_iterator<std::shared_ptr<Parser::Action>*, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > > >::__normal_iterator(std::shared_ptr<Parser::Action>* const&) [function] [call site] 00086
5 void std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_M_realloc_insert<std::shared_ptr<Parser::Action> const&>(__gnu_cxx::__normal_iterator<std::shared_ptr<Parser::Action>*, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > > >, std::shared_ptr<Parser::Action> const&) [function] [call site] 00087
6 std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::begin() [function] [call site] 00088
7 __gnu_cxx::__normal_iterator<std::shared_ptr<Parser::Action>*, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > > >::__normal_iterator(std::shared_ptr<Parser::Action>* const&) [function] [call site] 00089
6 __gnu_cxx::__normal_iterator<std::shared_ptr<Parser::Action>*, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > > >::difference_type __gnu_cxx::operator-<std::shared_ptr<Parser::Action>*, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > > >(__gnu_cxx::__normal_iterator<std::shared_ptr<Parser::Action>*, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > > > const&, __gnu_cxx::__normal_iterator<std::shared_ptr<Parser::Action>*, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > > > const&) [function] [call site] 00090
7 __gnu_cxx::__normal_iterator<std::shared_ptr<Parser::Action>*, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > > >::base() const [function] [call site] 00091
6 std::_Vector_base<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_M_allocate(unsigned long) [function] [call site] 00092
7 std::allocator_traits<std::allocator<std::shared_ptr<Parser::Action> > >::allocate(std::allocator<std::shared_ptr<Parser::Action> >&, unsigned long) [function] [call site] 00093
8 __gnu_cxx::new_allocator<std::shared_ptr<Parser::Action> >::allocate(unsigned long, void const*) [function] [call site] 00094
9 __gnu_cxx::new_allocator<std::shared_ptr<Parser::Action> >::max_size() const [function] [call site] 00095
6 void std::allocator_traits<std::allocator<std::shared_ptr<Parser::Action> > >::construct<std::shared_ptr<Parser::Action>, std::shared_ptr<Parser::Action> const&>(std::allocator<std::shared_ptr<Parser::Action> >&, std::shared_ptr<Parser::Action>*, std::shared_ptr<Parser::Action> const&) [function] [call site] 00096
6 __gnu_cxx::__normal_iterator<std::shared_ptr<Parser::Action>*, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > > >::base() const [function] [call site] 00097
6 std::_Vector_base<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_M_get_Tp_allocator() [function] [call site] 00098
6 std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_S_relocate(std::shared_ptr<Parser::Action>*, std::shared_ptr<Parser::Action>*, std::shared_ptr<Parser::Action>*, std::allocator<std::shared_ptr<Parser::Action> >&) [function] [call site] 00099
7 std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_S_do_relocate(std::shared_ptr<Parser::Action>*, std::shared_ptr<Parser::Action>*, std::shared_ptr<Parser::Action>*, std::allocator<std::shared_ptr<Parser::Action> >&, std::integral_constant<bool, true>) [function] [call site] 00100
6 __gnu_cxx::__normal_iterator<std::shared_ptr<Parser::Action>*, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > > >::base() const [function] [call site] 00101
6 std::_Vector_base<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_M_get_Tp_allocator() [function] [call site] 00102
6 std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_S_relocate(std::shared_ptr<Parser::Action>*, std::shared_ptr<Parser::Action>*, std::shared_ptr<Parser::Action>*, std::allocator<std::shared_ptr<Parser::Action> >&) [function] [call site] 00103
6 std::_Vector_base<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_M_deallocate(std::shared_ptr<Parser::Action>*, unsigned long) [function] [call site] 00104
7 std::allocator_traits<std::allocator<std::shared_ptr<Parser::Action> > >::deallocate(std::allocator<std::shared_ptr<Parser::Action> >&, std::shared_ptr<Parser::Action>*, unsigned long) [function] [call site] 00105
8 __gnu_cxx::new_allocator<std::shared_ptr<Parser::Action> >::deallocate(std::shared_ptr<Parser::Action>*, unsigned long) [function] [call site] 00106
3 std::shared_ptr<Parser::Action>::~shared_ptr() [function] [call site] 00107
3 append_or_delete(std::shared_ptr<Parser::Action>, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >&) [function] [call site] 00108
3 std::shared_ptr<Parser::Action>::~shared_ptr() [function] [call site] 00109
3 append_or_delete(std::shared_ptr<Parser::Action>, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >&) [function] [call site] 00110
3 std::shared_ptr<Parser::Action>::~shared_ptr() [function] [call site] 00111
3 Parser::Transition::~Transition() [function] [call site] 00112
2 __assert_fail [call site] 00113
2 __assert_fail [call site] 00114
2 mbrtowc [call site] 00115
2 __assert_fail [call site] 00116
2 __errno_location [call site] 00117
2 __assert_fail [call site] 00118
2 __assert_fail [call site] 00119
2 Parser::Parser::input(wchar_t, std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >&) [function] [call site] 00120
1 std::vector<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::~vector() [function] [call site] 00121
2 std::_Vector_base<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_M_get_Tp_allocator() [function] [call site] 00122
2 std::_Vector_base<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::~_Vector_base() [function] [call site] 00123
3 std::_Vector_base<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_M_deallocate(std::shared_ptr<Parser::Action>*, unsigned long) [function] [call site] 00124
3 std::_Vector_base<std::shared_ptr<Parser::Action>, std::allocator<std::shared_ptr<Parser::Action> > >::_Vector_impl::~_Vector_impl() [function] [call site] 00125
4 std::allocator<std::shared_ptr<Parser::Action> >::~allocator() [function] [call site] 00126
5 __gnu_cxx::new_allocator<std::shared_ptr<Parser::Action> >::~new_allocator() [function] [call site] 00127
3 __clang_call_terminate [call site] 00128
2 __clang_call_terminate [call site] 00129
1 Parser::UTF8Parser::~UTF8Parser() [function] [call site] 00130
2 Parser::Parser::~Parser() [function] [call site] 00131