From e68d8caf7e2878b13237f499a06df331dea9970f Mon Sep 17 00:00:00 2001 From: Nick Fitzgerald Date: Mon, 21 Aug 2023 12:39:39 -0700 Subject: [PATCH 1/3] wasmtime(fuzzing): Fix a warning --- fuzz/fuzz_targets/differential.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fuzz/fuzz_targets/differential.rs b/fuzz/fuzz_targets/differential.rs index f4d321faaa78..de1bcfd14275 100644 --- a/fuzz/fuzz_targets/differential.rs +++ b/fuzz/fuzz_targets/differential.rs @@ -62,7 +62,7 @@ fuzz_target!(|data: &[u8]| { // Errors in `run` have to do with not enough input in `data`, which we // ignore here since it doesn't affect how we'd like to fuzz. - drop(execute_one(&data)); + let _ = execute_one(&data); }); fn execute_one(data: &[u8]) -> Result<()> { From 2744130edc81de7c255d252a05d687839d917fbe Mon Sep 17 00:00:00 2001 From: Nick Fitzgerald Date: Mon, 21 Aug 2023 12:40:23 -0700 Subject: [PATCH 2/3] wasmtime(fuzzing): Correctly configure pooling allocator in differential --- crates/fuzzing/src/generators/config.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/fuzzing/src/generators/config.rs b/crates/fuzzing/src/generators/config.rs index 08c1967145b6..7c757ea062d9 100644 --- a/crates/fuzzing/src/generators/config.rs +++ b/crates/fuzzing/src/generators/config.rs @@ -75,9 +75,11 @@ impl Config { // One single-page memory pooling.total_memories = config.max_memories as u32; pooling.memory_pages = 10; + pooling.max_memories_per_module = config.max_memories as u32; pooling.total_tables = config.max_tables as u32; pooling.table_elements = 1_000; + pooling.max_tables_per_module = config.max_tables as u32; pooling.core_instance_size = 1_000_000; } From 3acb261066e1e11a374fc63246138fe7484e9939 Mon Sep 17 00:00:00 2001 From: Nick Fitzgerald Date: Mon, 21 Aug 2023 12:45:55 -0700 Subject: [PATCH 3/3] wasmtime(fuzzing): Allow instantiation failures due to hitting pooling limits --- crates/fuzzing/src/oracles.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/fuzzing/src/oracles.rs b/crates/fuzzing/src/oracles.rs index c6a7ba0e1cb2..8a08b0108da0 100644 --- a/crates/fuzzing/src/oracles.rs +++ b/crates/fuzzing/src/oracles.rs @@ -328,8 +328,11 @@ pub fn instantiate_with_dummy(store: &mut Store, module: &Module) - return None; } - // Also allow failures to instantiate as a result of hitting instance limits - if string.contains("maximum concurrent instance limit") { + // Also allow failures to instantiate as a result of hitting pooling limits. + if string.contains("maximum concurrent instance limit") + || string.contains("maximum concurrent memory limit") + || string.contains("maximum concurrent table limit") + { log::debug!("failed to instantiate: {}", string); return None; }