Fuzz introspector: fuzz_lex_yacc
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
23 380 ply.yacc.LRTable.lr_parse_table call site: {node_id} ply.yacc.PlyLogger.warning
17 248 ply.yacc.yacc call site: {node_id} ply.yacc.PlyLogger.warning
12 155 ply.yacc.ParserReflect.validate_all call site: {node_id} ply.yacc.PlyLogger.error
11 55 ply.lex.LexerReflect.validate_module call site: {node_id} ply.lex.PlyLogger.critical
11 226 ply.yacc.yacc call site: {node_id} ply.yacc.PlyLogger.debug
10 434 ply.yacc.LRParser.parse call site: {node_id} ply.yacc.format_stack_entry
10 454 ply.yacc.LRParser.parse call site: {node_id} ply.yacc.format_result
7 194 ply.yacc.ParserReflect.validate_modules call site: {node_id} ply.yacc.PlyLogger.warning
7 445 ply.yacc.LRParser.parse call site: {node_id} ply.yacc.format_result
5 86 ply.lex._form_master_re call site: {node_id} ply.lex._form_master_re
5 465 ply.yacc.LRParser.parse call site: {node_id} ply.yacc.format_result
4 4 ply.lex.lex call site: {node_id} ply.lex.PlyLogger.__init__

Fuzzer calltree

0 ...fuzz_lex_yacc.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 ply.lex.lex [function] [call site] 00002
2 ply.lex.Lexer.__init__ [function] [call site] 00003
2 ply.lex.PlyLogger.__init__ [function] [call site] 00004
2 ply.lex.PlyLogger.__init__ [function] [call site] 00005
2 ply.lex.get_caller_module_dict [function] [call site] 00009
3 sys._getframe [function] [call site] 00010
2 ply.lex.LexerReflect.__init__ [function] [call site] 00011
3 ply.lex.PlyLogger.__init__ [function] [call site] 00013
2 ply.lex.LexerReflect.get_all [function] [call site] 00014
3 ply.lex.LexerReflect.get_tokens [function] [call site] 00015
4 .isinstance [function] [call site] 00016
3 ply.lex.LexerReflect.get_literals [function] [call site] 00017
3 ply.lex.LexerReflect.get_states [function] [call site] 00018
3 ply.lex.LexerReflect.get_rules [function] [call site] 00023
2 ply.lex.LexerReflect.validate_all [function] [call site] 00034
3 ply.lex.LexerReflect.validate_tokens [function] [call site] 00035
4 _is_identifier.match [function] [call site] 00036
3 ply.lex.LexerReflect.validate_literals [function] [call site] 00037
3 ply.lex.LexerReflect.validate_rules [function] [call site] 00040
4 inspect.getmodule [function] [call site] 00041
4 .isinstance [function] [call site] 00042
4 ply.lex._get_regex [function] [call site] 00043
4 ply.lex._get_regex [function] [call site] 00045
4 re.compile [function] [call site] 00046
4 ply.lex._get_regex [function] [call site] 00048
4 tokname.find [function] [call site] 00049
4 re.compile [function] [call site] 00050
4 inspect.getmodule [function] [call site] 00052
4 .isinstance [function] [call site] 00053
4 ply.lex.LexerReflect.validate_module [function] [call site] 00054
5 inspect.getsourcelines [function] [call site] 00055
5 re.compile [function] [call site] 00056
5 re.compile [function] [call site] 00057
5 fre.match [function] [call site] 00058
5 sre.match [function] [call site] 00059
5 counthash.get [function] [call site] 00061
5 inspect.getsourcefile [function] [call site] 00062
2 ply.lex.PlyLogger.critical [function] [call site] 00063
3 sys.stderr.write [function] [call site] 00064
2 ply.lex.PlyLogger.critical [function] [call site] 00065
2 ply.lex.PlyLogger.critical [function] [call site] 00066
2 lexobj.lextokens.add [function] [call site] 00068
2 .isinstance [function] [call site] 00069
2 ply.lex._get_regex [function] [call site] 00072
2 regex_list.append [function] [call site] 00073
2 ply.lex._get_regex [function] [call site] 00074
2 ply.lex.PlyLogger.critical [function] [call site] 00075
2 regex_list.append [function] [call site] 00076
2 ply.lex.PlyLogger.critical [function] [call site] 00077
2 ply.lex.PlyLogger.critical [function] [call site] 00078
2 ply.lex._form_master_re [function] [call site] 00079
3 re.compile [function] [call site] 00080
3 lexre.groupindex.values [function] [call site] 00081
3 lexre.groupindex.items [function] [call site] 00083
3 ldict.get [function] [call site] 00084
3 ply.lex._form_master_re [function] [call site] 00088
3 ply.lex._form_master_re [function] [call site] 00089
2 .enumerate [function] [call site] 00090
2 ply.lex.PlyLogger.critical [function] [call site] 00091
2 stateinfo.items [function] [call site] 00092
2 lexobj.lexstateignore.get [function] [call site] 00093
2 linfo.errorf.get [function] [call site] 00094
2 ply.lex.PlyLogger.warning [function] [call site] 00095
3 sys.stderr.write [function] [call site] 00096
2 linfo.eoff.get [function] [call site] 00097
2 stateinfo.items [function] [call site] 00098
2 ply.lex.PlyLogger.warning [function] [call site] 00099
2 ply.lex.PlyLogger.warning [function] [call site] 00100
2 linfo.errorf.get [function] [call site] 00101
2 linfo.ignore.get [function] [call site] 00102
1 ply.yacc.yacc [function] [call site] 00103
2 ply.yacc.PlyLogger.__init__ [function] [call site] 00104
2 ply.yacc.get_caller_module_dict [function] [call site] 00109
3 sys._getframe [function] [call site] 00110
3 f.f_globals.copy [function] [call site] 00111
3 ldict.update [function] [call site] 00112
2 ply.yacc.ParserReflect.__init__ [function] [call site] 00113
3 ply.yacc.PlyLogger.__init__ [function] [call site] 00115
2 ply.yacc.ParserReflect.get_all [function] [call site] 00116
3 ply.yacc.ParserReflect.get_start [function] [call site] 00117
3 ply.yacc.ParserReflect.get_error_func [function] [call site] 00118
3 ply.yacc.ParserReflect.get_tokens [function] [call site] 00119
4 ply.yacc.PlyLogger.error [function] [call site] 00120
5 sys.stderr.write [function] [call site] 00121
4 .isinstance [function] [call site] 00122
4 ply.yacc.PlyLogger.error [function] [call site] 00123
4 ply.yacc.PlyLogger.error [function] [call site] 00124
3 ply.yacc.ParserReflect.get_precedence [function] [call site] 00126
3 ply.yacc.ParserReflect.get_pfunctions [function] [call site] 00127
4 name.startswith [function] [call site] 00128
4 .isinstance [function] [call site] 00129
4 inspect.getmodule [function] [call site] 00131
4 p_functions.append [function] [call site] 00132
4 p_functions.sort [function] [call site] 00133
2 ply.yacc.PlyLogger.__init__ [function] [call site] 00135
2 ply.yacc.PlyLogger.warning [function] [call site] 00136
3 sys.stderr.write [function] [call site] 00137
2 ply.yacc.PlyLogger.debug [function] [call site] 00138
3 sys.stderr.write [function] [call site] 00139
2 ply.yacc.ParserReflect.validate_all [function] [call site] 00140
3 ply.yacc.ParserReflect.validate_start [function] [call site] 00141
4 .isinstance [function] [call site] 00142
4 ply.yacc.PlyLogger.error [function] [call site] 00143
3 ply.yacc.ParserReflect.validate_error_func [function] [call site] 00144
4 .isinstance [function] [call site] 00145
4 .isinstance [function] [call site] 00146
4 ply.yacc.PlyLogger.error [function] [call site] 00147
4 inspect.getmodule [function] [call site] 00148
4 ply.yacc.PlyLogger.error [function] [call site] 00149
3 ply.yacc.ParserReflect.validate_tokens [function] [call site] 00150
4 ply.yacc.PlyLogger.error [function] [call site] 00151
4 ply.yacc.PlyLogger.warning [function] [call site] 00153
4 terminals.add [function] [call site] 00154
3 ply.yacc.ParserReflect.validate_precedence [function] [call site] 00155
4 .isinstance [function] [call site] 00156
4 ply.yacc.PlyLogger.error [function] [call site] 00157
4 .enumerate [function] [call site] 00158
4 .isinstance [function] [call site] 00159
4 ply.yacc.PlyLogger.error [function] [call site] 00160
4 ply.yacc.PlyLogger.error [function] [call site] 00162
4 .isinstance [function] [call site] 00163
4 ply.yacc.PlyLogger.error [function] [call site] 00164
4 .isinstance [function] [call site] 00165
4 ply.yacc.PlyLogger.error [function] [call site] 00166
4 preclist.append [function] [call site] 00167
3 ply.yacc.ParserReflect.validate_pfunctions [function] [call site] 00168
4 ply.yacc.PlyLogger.error [function] [call site] 00170
4 inspect.getsourcefile [function] [call site] 00171
4 .isinstance [function] [call site] 00172
4 ply.yacc.PlyLogger.error [function] [call site] 00173
4 ply.yacc.PlyLogger.error [function] [call site] 00174
4 ply.yacc.PlyLogger.warning [function] [call site] 00175
4 ply.yacc.parse_grammar [function] [call site] 00176
5 doc.splitlines [function] [call site] 00177
5 grammar.append [function] [call site] 00179
4 grammar.append [function] [call site] 00180
4 ply.yacc.PlyLogger.error [function] [call site] 00182
4 n.startswith [function] [call site] 00183
4 .isinstance [function] [call site] 00184
4 n.startswith [function] [call site] 00185
4 n.startswith [function] [call site] 00186
4 ply.yacc.PlyLogger.warning [function] [call site] 00187
4 .isinstance [function] [call site] 00188
4 .isinstance [function] [call site] 00189
4 v.__doc__.split [function] [call site] 00190
4 ply.yacc.PlyLogger.warning [function] [call site] 00191
3 ply.yacc.ParserReflect.validate_modules [function] [call site] 00192
4 re.compile [function] [call site] 00193
4 inspect.getsourcelines [function] [call site] 00194
4 .enumerate [function] [call site] 00195
4 fre.match [function] [call site] 00196
4 counthash.get [function] [call site] 00198
4 inspect.getsourcefile [function] [call site] 00199
4 ply.yacc.PlyLogger.warning [function] [call site] 00200
2 ply.yacc.PlyLogger.warning [function] [call site] 00201
2 ply.yacc.Grammar.__init__ [function] [call site] 00202
2 ply.yacc.Grammar.set_precedence [function] [call site] 00204
2 ply.yacc.PlyLogger.warning [function] [call site] 00205
2 ply.yacc.Grammar.add_production [function] [call site] 00206
3 _is_identifier.match [function] [call site] 00207
3 .enumerate [function] [call site] 00208
3 _is_identifier.match [function] [call site] 00211
3 ply.yacc.rightmost_terminal [function] [call site] 00212
3 ply.yacc.Production.__init__ [function] [call site] 00215
2 ply.yacc.PlyLogger.error [function] [call site] 00217
2 ply.yacc.Grammar.set_start [function] [call site] 00218
3 ply.yacc.Production.__init__ [function] [call site] 00219
2 ply.yacc.Grammar.set_start [function] [call site] 00220
2 ply.yacc.PlyLogger.error [function] [call site] 00222
2 ply.yacc.Grammar.undefined_symbols [function] [call site] 00223
3 result.append [function] [call site] 00224
2 ply.yacc.PlyLogger.error [function] [call site] 00225
2 ply.yacc.Grammar.unused_terminals [function] [call site] 00226
3 unused_tok.append [function] [call site] 00227
2 ply.yacc.PlyLogger.debug [function] [call site] 00228
2 ply.yacc.PlyLogger.debug [function] [call site] 00229
2 ply.yacc.PlyLogger.debug [function] [call site] 00230
2 ply.yacc.PlyLogger.warning [function] [call site] 00231
2 ply.yacc.PlyLogger.debug [function] [call site] 00232
2 ply.yacc.PlyLogger.debug [function] [call site] 00233
2 ply.yacc.PlyLogger.debug [function] [call site] 00234
2 ply.yacc.PlyLogger.debug [function] [call site] 00235
2 .enumerate [function] [call site] 00236
2 ply.yacc.PlyLogger.debug [function] [call site] 00237
2 ply.yacc.Grammar.unused_rules [function] [call site] 00238
3 unused_prod.append [function] [call site] 00239
2 ply.yacc.PlyLogger.warning [function] [call site] 00240
2 ply.yacc.PlyLogger.warning [function] [call site] 00242
2 ply.yacc.PlyLogger.warning [function] [call site] 00245
2 ply.yacc.PlyLogger.warning [function] [call site] 00247
2 ply.yacc.PlyLogger.warning [function] [call site] 00250
2 ply.yacc.PlyLogger.debug [function] [call site] 00251
2 ply.yacc.PlyLogger.debug [function] [call site] 00252
2 ply.yacc.PlyLogger.debug [function] [call site] 00253
2 terms.sort [function] [call site] 00255
2 ply.yacc.PlyLogger.debug [function] [call site] 00257
2 ply.yacc.PlyLogger.debug [function] [call site] 00258
2 ply.yacc.PlyLogger.debug [function] [call site] 00259
2 ply.yacc.PlyLogger.debug [function] [call site] 00260
2 nonterms.sort [function] [call site] 00262
2 ply.yacc.PlyLogger.debug [function] [call site] 00264
2 ply.yacc.PlyLogger.debug [function] [call site] 00265
2 ply.yacc.Grammar.find_unreachable [function] [call site] 00266
3 ply.yacc.Grammar.find_unreachable.mark_reachable_from [function] [call site] 00268
4 reachable.add [function] [call site] 00269
4 ply.yacc.Grammar.find_unreachable.mark_reachable_from [function] [call site] 00270
2 ply.yacc.PlyLogger.warning [function] [call site] 00271
2 ply.yacc.Grammar.infinite_cycles [function] [call site] 00272
3 terminates.items [function] [call site] 00273
3 infinite.append [function] [call site] 00274
2 ply.yacc.PlyLogger.error [function] [call site] 00275
2 ply.yacc.Grammar.unused_precedence [function] [call site] 00276
3 unused.append [function] [call site] 00277
2 ply.yacc.PlyLogger.error [function] [call site] 00278
2 ply.yacc.LRTable.__init__ [function] [call site] 00279
3 ply.yacc.Grammar.build_lritems [function] [call site] 00280
4 ply.yacc.LRItem.__init__ [function] [call site] 00282
4 lr_items.append [function] [call site] 00285
3 ply.yacc.Grammar.compute_first [function] [call site] 00286
4 ply.yacc.Grammar._first [function] [call site] 00287
5 result.append [function] [call site] 00288
3 ply.yacc.Grammar.compute_follow [function] [call site] 00289
4 ply.yacc.Grammar.compute_first [function] [call site] 00290
4 .enumerate [function] [call site] 00291
4 ply.yacc.Grammar._first [function] [call site] 00292
3 ply.yacc.LRTable.lr_parse_table [function] [call site] 00294
4 ply.yacc.LRTable.add_lalr_lookaheads [function] [call site] 00314
5 ply.yacc.LRTable.compute_nullable_nonterminals [function] [call site] 00315
5 ply.yacc.LRTable.find_nonterminal_transitions [function] [call site] 00320
6 .enumerate [function] [call site] 00321
6 trans.append [function] [call site] 00322
5 ply.yacc.LRTable.compute_read_sets [function] [call site] 00323
6 ply.yacc.digraph [function] [call site] 00324
7 ply.yacc.traverse [function] [call site] 00325
8 stack.append [function] [call site] 00326
8 ply.yacc.LRTable.compute_read_sets. [function] [call site] 00328
9 ply.yacc.LRTable.dr_relation [function] [call site] 00329
10 ply.yacc.LRTable.lr0_goto [function] [call site] 00330
10 terms.append [function] [call site] 00331
10 terms.append [function] [call site] 00332
8 ply.yacc.LRTable.compute_follow_sets. [function] [call site] 00333
8 ply.yacc.LRTable.compute_read_sets. [function] [call site] 00334
9 ply.yacc.LRTable.reads_relation [function] [call site] 00335
10 ply.yacc.LRTable.lr0_goto [function] [call site] 00336
10 rel.append [function] [call site] 00338
8 ply.yacc.LRTable.compute_follow_sets. [function] [call site] 00339
9 inclsets.get [function] [call site] 00340
8 ply.yacc.traverse [function] [call site] 00341
8 stack.pop [function] [call site] 00344
8 stack.pop [function] [call site] 00345
5 ply.yacc.LRTable.compute_lookback_includes [function] [call site] 00346
6 includes.append [function] [call site] 00347
6 ply.yacc.LRTable.lr0_goto [function] [call site] 00348
6 lookb.append [function] [call site] 00350
5 ply.yacc.LRTable.compute_follow_sets [function] [call site] 00351
6 ply.yacc.digraph [function] [call site] 00352
5 ply.yacc.LRTable.add_lookaheads [function] [call site] 00353
6 lookbacks.items [function] [call site] 00354
6 followset.get [function] [call site] 00355
4 ply.yacc.PlyLogger.debug [function] [call site] 00356
4 ply.yacc.PlyLogger.debug [function] [call site] 00357
4 ply.yacc.PlyLogger.debug [function] [call site] 00358
4 ply.yacc.PlyLogger.debug [function] [call site] 00359
4 ply.yacc.PlyLogger.debug [function] [call site] 00360
4 actlist.append [function] [call site] 00361
4 st_action.get [function] [call site] 00362
4 Precedence.get [function] [call site] 00363
4 ply.yacc.PlyLogger.debug [function] [call site] 00364
4 ply.yacc.PlyLogger.debug [function] [call site] 00365
4 ply.yacc.PlyLogger.debug [function] [call site] 00366
4 ply.yacc.LRTable.lr0_goto [function] [call site] 00367
4 actlist.append [function] [call site] 00369
4 st_action.get [function] [call site] 00370
4 Precedence.get [function] [call site] 00371
4 ply.yacc.PlyLogger.debug [function] [call site] 00372
4 ply.yacc.PlyLogger.debug [function] [call site] 00373
4 ply.yacc.PlyLogger.debug [function] [call site] 00374
4 ply.yacc.PlyLogger.debug [function] [call site] 00375
4 ply.yacc.PlyLogger.debug [function] [call site] 00376
4 ply.yacc.PlyLogger.debug [function] [call site] 00377
4 ply.yacc.LRTable.lr0_goto [function] [call site] 00378
4 ply.yacc.PlyLogger.debug [function] [call site] 00380
2 ply.yacc.PlyLogger.warning [function] [call site] 00382
2 ply.yacc.PlyLogger.warning [function] [call site] 00383
2 ply.yacc.PlyLogger.warning [function] [call site] 00385
2 ply.yacc.PlyLogger.warning [function] [call site] 00386
2 ply.yacc.PlyLogger.warning [function] [call site] 00387
2 ply.yacc.PlyLogger.warning [function] [call site] 00388
2 ply.yacc.PlyLogger.warning [function] [call site] 00389
2 ply.yacc.PlyLogger.warning [function] [call site] 00390
2 ply.yacc.PlyLogger.warning [function] [call site] 00394
2 ply.yacc.PlyLogger.warning [function] [call site] 00395
2 ply.yacc.PlyLogger.warning [function] [call site] 00396
2 ply.yacc.PlyLogger.warning [function] [call site] 00397
2 already_reported.add [function] [call site] 00400
2 ply.yacc.PlyLogger.warning [function] [call site] 00401
2 ply.yacc.PlyLogger.warning [function] [call site] 00402
2 warned_never.append [function] [call site] 00403
2 ply.yacc.LRTable.bind_callables [function] [call site] 00404
2 ply.yacc.LRParser.__init__ [function] [call site] 00406
3 ply.yacc.LRParser.set_defaulted_states [function] [call site] 00407
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00411
1 ply.yacc.LRParser.parse [function] [call site] 00412
2 .isinstance [function] [call site] 00413
2 ply.yacc.PlyLogger.__init__ [function] [call site] 00414
2 ply.yacc.YaccProduction.__init__ [function] [call site] 00415
2 ply.yacc.PlyLogger.debug [function] [call site] 00416
2 ply.lex.Lexer.input [function] [call site] 00417
2 statestack.append [function] [call site] 00419
2 symstack.append [function] [call site] 00420
2 ply.yacc.PlyLogger.debug [function] [call site] 00421
2 lookaheadstack.pop [function] [call site] 00428
2 ply.yacc.PlyLogger.debug [function] [call site] 00429
2 ply.yacc.PlyLogger.debug [function] [call site] 00430
2 statestack.append [function] [call site] 00432
2 ply.yacc.PlyLogger.debug [function] [call site] 00433
2 symstack.append [function] [call site] 00434
2 ply.yacc.PlyLogger.debug [function] [call site] 00435
2 ply.yacc.PlyLogger.debug [function] [call site] 00442
2 p.callable [function] [call site] 00445
2 ply.yacc.PlyLogger.debug [function] [call site] 00452
2 symstack.append [function] [call site] 00453
2 statestack.append [function] [call site] 00454
2 lookaheadstack.append [function] [call site] 00455
2 symstack.extend [function] [call site] 00456
2 statestack.pop [function] [call site] 00457
2 p.callable [function] [call site] 00458
2 ply.yacc.format_result [function] [call site] 00459
2 ply.yacc.PlyLogger.debug [function] [call site] 00460
2 symstack.append [function] [call site] 00461
2 statestack.append [function] [call site] 00462
2 lookaheadstack.append [function] [call site] 00463
2 statestack.pop [function] [call site] 00464
2 ply.yacc.format_result [function] [call site] 00466
2 ply.yacc.PlyLogger.debug [function] [call site] 00467
2 ply.yacc.PlyLogger.debug [function] [call site] 00468
2 ply.yacc.PlyLogger.error [function] [call site] 00469
2 sys.stderr.write [function] [call site] 00473
2 sys.stderr.write [function] [call site] 00474
2 sys.stderr.write [function] [call site] 00475
2 lookaheadstack.append [function] [call site] 00481
2 symstack.pop [function] [call site] 00482
2 statestack.pop [function] [call site] 00483