Fuzz introspector: wasm-smithlib
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
60 153 FuncEnvironment::gc_layout call site: {node_id} Lexer::scan_number
50 218 InstanceFlags::set_may_enter call site: {node_id} Lexer::scan_string
27 433 ExpressionParser::handle_if_lparen call site: {node_id} Parser::cur_span
26 269 PackedOption::is_some call site: {node_id} peek
15 531 limited_str call site: {node_id}
14 399 AtomicOP::unset call site: {node_id} ScopeVec::push
14 507 machreg_to_gpr call site: {node_id} limited_str
13 33 CodeBuilder::alloc_local call site: {node_id} Component::get_export
13 475 ScopedHashMap::entry_with_depth call site: {node_id} test_swap_front_back_remove
11 11 Reg::to_real_reg call site: {node_id} test_vacant_entry_no_insert
9 107 TypeRegistryInner::register_singleton_rec_group call site: {node_id} IndexSet::into_iter
9 415 int_const_inst call site: {node_id} page_size

Fuzzer calltree

0 fuzz_target [function] [call site] 00000
1 unwrap_or [function] [call site] 00001
1 enc_rie_f [function] [call site] 00002
2 machreg_to_gpr [function] [call site] 00003
3 u32::from [function] [call site] 00004
4 DiscriminantSize::byte_size [function] [call site] 00005
3 Reg::to_real_reg [function] [call site] 00006
4 pinned_vreg_to_preg [function] [call site] 00007
5 VReg::vreg [function] [call site] 00008
5 PReg::from_index [function] [call site] 00010
4 hashmap [function] [call site] 00011
5 ScopedHashMap::new [function] [call site] 00012
6 FxHashMap::default [function] [call site] 00013
5 test_vacant_entry_no_insert [function] [call site] 00014
6 ScopedHashMap::entry [function] [call site] 00021
7 ScopedHashMap::entry_with_depth [function] [call site] 00022
8 ContextArgs::len [function] [call site] 00023
9 ContextArgs::as_slice [function] [call site] 00024
8 ScopedHashMap::get [function] [call site] 00025
9 CrashTestDummy::cloned [function] [call site] 00027
10 load [function] [call site] 00028
11 get_memarg [function] [call site] 00029
11 CodeBuilder::alloc_local [function] [call site] 00030
12 Stack::push [function] [call site] 00031
12 u32::try_from [function] [call site] 00032
12 try_unwrap [function] [call site] 00033
13 clone [function] [call site] 00034
14 OnceLock::new [function] [call site] 00035
15 SendSyncUnsafeCell::new [function] [call site] 00036
15 MaybeUninit::uninit [function] [call site] 00038
14 wasmtime_caller_export_get [function] [call site] 00039
15 str::from_utf8 [function] [call site] 00040
15 slice_from_raw_parts [function] [call site] 00041
16 std::slice::from_raw_parts [function] [call site] 00042
15 Component::get_export [function] [call site] 00043
16 ComponentItem::from [function] [call site] 00044
17 Self::Component [function] [call site] 00045
17 Component::from [function] [call site] 00046
17 Self::ComponentInstance [function] [call site] 00049
17 ComponentInstance::from [function] [call site] 00050
17 Self::ComponentFunc [function] [call site] 00052
17 ComponentFunc::from [function] [call site] 00053
17 Self::Type [function] [call site] 00055
17 Type::from [function] [call site] 00056
18 Type::List [function] [call site] 00057
18 Type::Record [function] [call site] 00060
18 Record::from [function] [call site] 00061
18 Type::Tuple [function] [call site] 00063
18 Type::Variant [function] [call site] 00066
18 Variant::from [function] [call site] 00067
18 Type::Enum [function] [call site] 00069
18 Type::Option [function] [call site] 00072
18 OptionType::from [function] [call site] 00073
19 OptionType [function] [call site] 00074
18 Type::Result [function] [call site] 00075
18 ResultType::from [function] [call site] 00076
19 ResultType [function] [call site] 00077
18 Type::Flags [function] [call site] 00078
18 Type::Own [function] [call site] 00081
18 InstanceType::resource_type [function] [call site] 00082
19 unwrap_or_else [function] [call site] 00084
19 ResourceType::uninstantiated [function] [call site] 00085
18 Type::Borrow [function] [call site] 00086
17 Self::Module [function] [call site] 00087
17 Self::CoreFunc [function] [call site] 00090
17 FuncType::from_wasm_func_type [function] [call site] 00091
18 RegisteredType::new [function] [call site] 00092
19 Engine::gc_runtime [function] [call site] 00093
19 Store::call_hook [function] [call site] 00095
20 CallHookInner::Sync [function] [call site] 00097
19 Engine::signatures [function] [call site] 00098
19 TypeRegistryInner::assert_canonicalized_for_runtime_usage_in_this_registry [function] [call site] 00100
20 Arc::trace [function] [call site] 00101
19 TypeRegistryInner::register_singleton_rec_group [function] [call site] 00102
20 PrimaryMap::default [function] [call site] 00103
21 PrimaryMap::new [function] [call site] 00104
22 ScopeVec::new [function] [call site] 00105
23 Default::default [function] [call site] 00106
20 TypeRegistryInner::register_rec_group [function] [call site] 00107
21 Vec::with_capacity [function] [call site] 00108
21 implExactSizeIterator::len [function] [call site] 00109
21 implExactSizeIterator::zip [function] [call site] 00110
21 iter_entity_range [function] [call site] 00111
21 Arc::canonicalize_for_hash_consing [function] [call site] 00112
21 test_into_iter_collect [function] [call site] 00113
22 BinaryHeap::from [function] [call site] 00114
22 IndexSet::into_iter [function] [call site] 00115
21 RecGroupEntry::incref [function] [call site] 00116
22 fetch_add [function] [call site] 00117
21 trace_engine_indices [function] [call site] 00118
21 u32::try_from [function] [call site] 00119
21 Arc::canonicalize_for_runtime_usage [function] [call site] 00120
21 TypeRegistryInner::insert_one_type_from_rec_group [function] [call site] 00121
22 PackedOption::expect [function] [call site] 00123
23 PackedOption::expand [function] [call site] 00124
24 PackedOption::is_none [function] [call site] 00125
25 is_reserved_value [function] [call site] 00126
22 DrcCompiler::layouts [function] [call site] 00128
22 NullTypeLayouts::array_layout [function] [call site] 00129
23 common_array_layout [function] [call site] 00130
24 field [function] [call site] 00131
25 align_up [function] [call site] 00132
26 u32::is_power_of_two [function] [call site] 00133
26 u32::is_power_of_two [function] [call site] 00134
26 u32::checked_add [function] [call site] 00135
24 byte_size_of_wasm_ty_in_gc_heap [function] [call site] 00137
22 into [function] [call site] 00138
23 PathBuf::from [function] [call site] 00139
22 FuncEnvironment::struct_layout [function] [call site] 00141
23 FuncEnvironment::gc_layout [function] [call site] 00142
24 Map::contains_key [function] [call site] 00143
24 gc_compiler [function] [call site] 00144
24 Parser::expect [function] [call site] 00153
25 Parser::error [function] [call site] 00155
26 to_string [function] [call site] 00156
27 Lexer::scan_chars [function] [call site] 00157
28 Lexer::loc [function] [call site] 00158
28 Lexer::next_ch [function] [call site] 00159
29 Lexer::next [function] [call site] 00161
30 Lexer::scan_comment [function] [call site] 00163
31 Lexer::rest_of_line [function] [call site] 00164
31 Token::Comment [function] [call site] 00167
30 Lexer::scan_char [function] [call site] 00169
30 Lexer::scan_number [function] [call site] 00181
31 Lexer::looking_at_numeric [function] [call site] 00182
32 Lexer::looking_at [function] [call site] 00183
33 starts_with [function] [call site] 00184
31 Token::Float [function] [call site] 00186
31 Token::Integer [function] [call site] 00187
30 Lexer::scan_word [function] [call site] 00194
31 is_ascii_alphabetic [function] [call site] 00196
31 split_entity_name [function] [call site] 00197
32 str::split_at [function] [call site] 00198
32 str::len [function] [call site] 00199
32 trailing_digits [function] [call site] 00200
33 str::as_bytes [function] [call site] 00201
33 iter [function] [call site] 00202
34 cstr_to_path [function] [call site] 00204
35 CStr::from_ptr [function] [call site] 00205
35 socket_v6_to_str [function] [call site] 00206
36 set_scope_id [function] [call site] 00207
34 UnixListener::bind [function] [call site] 00209
34 spawn [function] [call site] 00210
35 with_ambient_tokio_runtime [function] [call site] 00211
36 tokio::runtime::Handle::try_current [function] [call site] 00212
36 InstanceFlags::set_may_enter [function] [call site] 00213
37 InstanceFlags::as_raw [function] [call site] 00214
38 GuestPtr::as_ptr [function] [call site] 00215
39 GuestPtr::new [function] [call site] 00216
39 GuestPtr::offset_base [function] [call site] 00217
37 VMGlobalDefinition::as_i32_mut [function] [call site] 00218
35 AbortOnDropJoinHandle [function] [call site] 00219
34 UnixStream::connect [function] [call site] 00220
33 ProgPoint::prev [function] [call site] 00221
33 take_while [function] [call site] 00222
33 WasiImpl::keep_alive_count [function] [call site] 00223
34 WasiImpl::table [function] [call site] 00224
35 T::table [function] [call site] 00225
32 starts_with [function] [call site] 00226
31 and_then [function] [call site] 00232
31 Self::numbered_entity [function] [call site] 00233
31 value_type [function] [call site] 00235
32 reference_type [function] [call site] 00236
33 WasmHeapType::top [function] [call site] 00237
32 dynTargetIsa::pointer_type [function] [call site] 00238
31 unwrap_or_else [function] [call site] 00239
31 Token::Identifier [function] [call site] 00240
30 Lexer::scan_name [function] [call site] 00242
31 Token::Name [function] [call site] 00243
30 Lexer::scan_string [function] [call site] 00245
31 Lexer::error [function] [call site] 00247
32 Span::new_single [function] [call site] 00248
31 Token::String [function] [call site] 00249
30 Lexer::scan_hex_sequence [function] [call site] 00251
31 char::is_digit [function] [call site] 00252
31 Token::HexSequence [function] [call site] 00253
30 Lexer::looking_at_srcloc [function] [call site] 00254
31 char::is_digit [function] [call site] 00255
30 Lexer::scan_srcloc [function] [call site] 00257
31 char::is_digit [function] [call site] 00258
31 Token::SourceLoc [function] [call site] 00259
27 KebabString::new [function] [call site] 00263
28 KebabStr::new [function] [call site] 00264
29 Self::new_unchecked [function] [call site] 00265
29 implAsRef+a::is_kebab_case [function] [call site] 00266
28 PackedOption::is_some [function] [call site] 00268
29 is_reserved_value [function] [call site] 00269
27 to_digit [function] [call site] 00274
27 to_digit [function] [call site] 00275
27 std::char::from_u32 [function] [call site] 00276
25 Parser::pos [function] [call site] 00279
26 Parser::peek [function] [call site] 00280
27 peek [function] [call site] 00281
28 each_ip [function] [call site] 00282
29 next_test_ip4 [function] [call site] 00283
30 base_port [function] [call site] 00284
31 String::from [function] [call site] 00285
31 env::current_dir [function] [call site] 00286
31 into_os_string [function] [call site] 00287
31 wtf8buf_into_string [function] [call site] 00288
32 from_str [function] [call site] 00289
32 CodePoint::from_u32 [function] [call site] 00290
30 SocketAddr::V4 [function] [call site] 00291
29 next_test_ip6 [function] [call site] 00292
30 SocketAddr::V6 [function] [call site] 00293
27 Parser::cursor [function] [call site] 00294
26 map_or_else [function] [call site] 00295
23 ModuleTypesBuilder::unwrap_struct [function] [call site] 00296
22 alloc [function] [call site] 00299
23 Allocation::reg [function] [call site] 00300
24 Allocation::new [function] [call site] 00301
24 PReg::index [function] [call site] 00302
22 slab_id_to_shared_type_index [function] [call site] 00303
23 VMSharedTypeIndex::new [function] [call site] 00304
23 SlabId::into_raw [function] [call site] 00306
23 is_reserved_value [function] [call site] 00307
22 EngineOrModuleTypeIndex::unwrap_engine_type_index [function] [call site] 00308
23 EngineOrModuleTypeIndex::as_engine_type_index [function] [call site] 00309
23 unwrap_or_else [function] [call site] 00311
22 TypeRegistryInner::supertypes [function] [call site] 00312
23 and_then [function] [call site] 00313
23 as_deref [function] [call site] 00314
23 unwrap_or [function] [call site] 00315
22 Vec::with_capacity [function] [call site] 00316
22 SolverCtx::sign_extend [function] [call site] 00317
23 list [function] [call site] 00318
24 Backend::from [function] [call site] 00319
24 OpenvinoBackend::default [function] [call site] 00321
24 WinMLBackend::default [function] [call site] 00322
24 OnnxBackend::default [function] [call site] 00323
24 PytorchBackend::default [function] [call site] 00324
22 iter::once [function] [call site] 00327
22 PrimaryMap::into_boxed_slice [function] [call site] 00329
23 BoxedSlice::from_raw [function] [call site] 00330
24 Box::from_raw [function] [call site] 00331
23 Box::into_raw [function] [call site] 00332
21 RecGroupEntry [function] [call site] 00334
21 shared_type_index_to_slab_id [function] [call site] 00336
22 VMSharedTypeIndex::is_reserved_value [function] [call site] 00337
22 SlabId::from_raw [function] [call site] 00338
22 VMSharedTypeIndex::bits [function] [call site] 00339
21 ModuleTypesBuilder::intern_trampoline_type [function] [call site] 00340
22 EntityType::unwrap_func [function] [call site] 00341
22 ModuleTypesBuilder::trampoline_type [function] [call site] 00342
22 WasmCompositeInnerType::Func [function] [call site] 00343
22 ModuleTypes::set_trampoline_type [function] [call site] 00344
23 ModuleInternedTypeIndex::is_reserved_value [function] [call site] 00345
23 ModuleInternedTypeIndex::is_reserved_value [function] [call site] 00346
23 WasmCompositeInnerType::is_func [function] [call site] 00347
23 Allocation::is_none [function] [call site] 00348
24 Allocation::kind [function] [call site] 00349
23 WasmFuncType::is_trampoline_type [function] [call site] 00350
24 WasmFuncType::params [function] [call site] 00351
24 vectorizelanes_all [function] [call site] 00352
25 Type::lane_type [function] [call site] 00353
25 DataValueExt::vector [function] [call site] 00355
24 WasmFuncType::trampoline_type [function] [call site] 00356
25 Cow::Borrowed [function] [call site] 00357
25 Cow::Owned [function] [call site] 00358
25 WasmFuncType::returns [function] [call site] 00359
22 ModuleTypes::next_ty [function] [call site] 00361
23 PrimaryMap::next_key [function] [call site] 00362
24 PrimaryMap::len [function] [call site] 00363
22 ModuleTypes::push_rec_group [function] [call site] 00364
23 ModuleTypes::push [function] [call site] 00365
21 wasmtime_environ::WasmCompositeInnerType::Func [function] [call site] 00366
21 UntypedValue::into_owned [function] [call site] 00367
22 UntypedValue::new [function] [call site] 00368
20 iter::once [function] [call site] 00370
19 RegisteredType::clone [function] [call site] 00371
19 and_then [function] [call site] 00372
19 RegisteredType::from_parts [function] [call site] 00373
18 WasmCompositeInnerType::Func [function] [call site] 00374
17 Self::Resource [function] [call site] 00375
15 initialize [function] [call site] 00376
16 std::mem::MaybeUninit::as_mut_ptr [function] [call site] 00377
14 AtomicOP::unset [function] [call site] 00378
15 Inst::load_int_mask [function] [call site] 00379
16 Type::is_int [function] [call site] 00380
16 Type::bits [function] [call site] 00381
17 Type::is_dynamic_vector [function] [call site] 00382
17 Type::lane_bits [function] [call site] 00383
17 Type::lane_count [function] [call site] 00384
18 Type::log2_lane_count [function] [call site] 00385
16 Inst::load_imm12 [function] [call site] 00386
16 Imm12::from_i16 [function] [call site] 00393
16 Writable::to_reg [function] [call site] 00394
15 WritableReg::to_reg [function] [call site] 00395
15 Inst::construct_bit_not [function] [call site] 00396
15 WritableReg::to_reg [function] [call site] 00397
15 WritableReg::to_reg [function] [call site] 00398
15 WritableReg::to_reg [function] [call site] 00399
13 Arc::downgrade [function] [call site] 00400
11 type_of_memory_access [function] [call site] 00401
11 ScopeVec::push [function] [call site] 00402
12 SmallVec::len [function] [call site] 00403
12 borrow_mut [function] [call site] 00404
12 PrimaryMap::last_mut [function] [call site] 00405
12 UnboxedValues::as_mut_ptr [function] [call site] 00407
12 core::slice::from_raw_parts_mut [function] [call site] 00408
11 Instruction::LocalSet [function] [call site] 00409
11 Instruction::Block [function] [call site] 00410
11 Instruction::Block [function] [call site] 00411
11 Instruction::MemorySize [function] [call site] 00412
11 int_const_inst [function] [call site] 00413
12 Instruction::I32Const [function] [call site] 00414
12 Instruction::I64Const [function] [call site] 00415
11 page_size [function] [call site] 00416
12 Parser::peek2 [function] [call site] 00417
13 T::peek2 [function] [call site] 00418
12 Parser::parens [function] [call site] 00421
13 ExpressionParser::handle_if_lparen [function] [call site] 00424
14 Parser::parse [function] [call site] 00427
14 mem::replace [function] [call site] 00428
14 Instruction::End [function] [call site] 00429
14 ExpressionParser::push_instr [function] [call site] 00430
14 Instruction::Else [function] [call site] 00432
13 Parser::is_rparen [function] [call site] 00436
14 Parser::is [function] [call site] 00437
12 Parser::cur_span [function] [call site] 00441
12 is_power_of_two [function] [call site] 00442
12 Error::new [function] [call site] 00446
13 ErrorKind::Custom [function] [call site] 00447
11 int_mul_inst [function] [call site] 00449
11 Instruction::LocalGet [function] [call site] 00450
11 int_add_inst [function] [call site] 00451
11 int_le_u_inst [function] [call site] 00452
11 Instruction::BrIf [function] [call site] 00453
11 Instruction::LocalGet [function] [call site] 00454
11 int_le_s_inst [function] [call site] 00455
11 Instruction::BrIf [function] [call site] 00456
11 Instruction::LocalGet [function] [call site] 00457
11 Instruction::LocalSet [function] [call site] 00458
11 Instruction::Br [function] [call site] 00459
11 dummy_value_inst [function] [call site] 00460
12 Instruction::I32Const [function] [call site] 00461
12 Instruction::I64Const [function] [call site] 00462
12 Instruction::F32Const [function] [call site] 00463
12 Instruction::F64Const [function] [call site] 00464
12 Instruction::V128Const [function] [call site] 00465
12 Instruction::RefNull [function] [call site] 00466
11 Instruction::LocalSet [function] [call site] 00467
11 Instruction::LocalGet [function] [call site] 00468
8 Entry::Occupied [function] [call site] 00471
8 Entry::Vacant [function] [call site] 00472
8 InsertLoc::Occupied [function] [call site] 00473
8 Entry::Vacant [function] [call site] 00474
8 InsertLoc::Vacant [function] [call site] 00475
7 ScopedHashMap::depth [function] [call site] 00476
8 test_checked_sub [function] [call site] 00477
6 test_swap_front_back_remove [function] [call site] 00479
7 VecDeque::with_capacity [function] [call site] 00480
7 ListPool::with_capacity [function] [call site] 00481
8 Vec::with_capacity [function] [call site] 00482
7 push_front [function] [call site] 00483
7 push_back [function] [call site] 00484
6 AdaptiveMap::is_empty [function] [call site] 00488
7 AdaptiveMap::iter [function] [call site] 00489
8 AdaptiveMapIter::Small [function] [call site] 00490
8 AdaptiveMapIter::Large [function] [call site] 00491
7 DataFlowGraph::overwrite_inst_values [function] [call site] 00492
8 InstructionData::map_values [function] [call site] 00493
5 IndexSet::union_with [function] [call site] 00494
6 IndexSet::elem [function] [call site] 00495
7 IndexSet::get [function] [call site] 00496
7 IndexSet::set [function] [call site] 00497
7 AdaptiveMap::get_or_insert [function] [call site] 00498
8 Self::Large [function] [call site] 00501
8 Entry::or_insert [function] [call site] 00505
9 OccupiedEntry::into_mut [function] [call site] 00506
3 PReg::hw_enc [function] [call site] 00507
1 peek_bytes [function] [call site] 00510
1 str::from_utf8 [function] [call site] 00511
1 void::unwrap [function] [call site] 00512
1 void::bytes [function] [call site] 00513
1 void::valid_up_to [function] [call site] 00515
1 Result::unwrap [function] [call site] 00516
1 Result::bytes [function] [call site] 00517
1 str::from_utf8 [function] [call site] 00518
1 str::unwrap [function] [call site] 00519
1 limited_str [function] [call site] 00521
2 Unstructured::arbitrary_len [function] [call site] 00522
2 std::cmp::min [function] [call site] 00523
2 str::from_utf8 [function] [call site] 00524
2 Unstructured::peek_bytes [function] [call site] 00525
2 Unstructured::bytes [function] [call site] 00526
2 valid_up_to [function] [call site] 00528
2 Unstructured::bytes [function] [call site] 00529
2 str::from_utf8 [function] [call site] 00530
1 str::contains [function] [call site] 00533
1 str::unwrap [function] [call site] 00534
1 str::insert [function] [call site] 00535
1 str::push [function] [call site] 00537
1 str::int_in_range [function] [call site] 00538
1 str::is_empty [function] [call site] 00539
1 str::ends_with [function] [call site] 00540
1 str::push [function] [call site] 00541
1 str::contains [function] [call site] 00542
1 str::unwrap [function] [call site] 00543
1 str::insert [function] [call site] 00544